import java.util.ArrayList;
import java.util.*;
class Employee1 implements Comparable<Employee1> {
int empno;
String name;
Employee1(int i,String j) {
empno=i;
name=j;
}
public int compareTo(Employee1 e1) {
Employee1 e2=this;
Integer i1=e1.empno;
Integer i2=e2.empno;
return i1.compareTo(i2);
}
}
public class Employee {
public static void display(ArrayList<Employee1> i) {
for(Employee1 o:i){
System.out.println(o.empno);
}
}
public static void main(String[] args) {
ArrayList<Employee1> ob=new ArrayList<Employee1>();
Employee1 e1=new Employee1(1001,"A");
Employee1 e2=new Employee1(1002,"B");
ob.add(e2);
ob.add(e1);
Collections.sort(ob);
display(ob);
}
}
輸出應爲1001 1002
,而輸出爲1002 1001
。java ...基於集合
首先我empno
通過e2
對象添加到列表,然後 e1
與1001
empno
由於Employee1
的compareTo
方法 - e1.compareTo(e2);
應儘可能1001.compareTo(1002);
相同的,所以爲什麼他們在錯誤的顯示訂購?
好.. Andremoniy ...多數民衆贊成在...請你告訴我的流量..... – vinod
你爲什麼用這麼多點?其難以連接的方式:) – ant
流的聲明....返回i1.compareTo(i2);與對象..e1和E2 .. ?? – vinod