通过代码来看看吧
1.Employee 对象 package test;
public class Employee {
private int id ;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2.对象比较器 package test;
import java.util.Comparator;
public class DemoComparator implements Comparator {
public int compare(Object o1, Object o2) {
if (((Employee)o1).getId() > ((Employee)o2).getId()) {
return -1;//DESC
} else if (((Employee)o1).getId() < ((Employee)o2).getId()) {
return 1;//ASC
} else {
return 0;
}
}
}
3.测试类 package test;
import java.util.Vector;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class testVector {
/**
* @param args
*/
public static void main(String[] args) {
List vc = getEmList();
System.out.println("===========before sort====================");
for(int j =0;j < vc.size();j++){
Employee em = (Employee)vc.get(j);
System.out.println("id :" + em.getId() + " name:" + em.getName());
}
DemoComparator com = new DemoComparator();
Collections.sort(vc, com);
System.out.println("===========after sort====================");
for(int j =0;j < vc.size();j++){
Employee em = (Employee)vc.get(j);
System.out.println("id :" + em.getId() + " name:" + em.getName());
}
}
//
public static List getEmList(){
//这里用Vector做测试。当然你可以使用list所有的子类。
List v = new Vector(); Employee em = null;
em = new Employee();
em.setId(59);
em.setName("test001");
v.add(em);
em = new Employee();
em.setId(23);
em.setName("test002");
v.add(em);
for(int i = 30; i < 40; i++){
em = new Employee();
em.setId(i);
em.setName("chenfeng" + i);
v.add(em);
}
return v;
}
}
责任编辑:小草