一.给基本类型列表排序
Collections.sort(intList,new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// 返回值为int类型,大于0表示正序,小于0表示逆序
return o2-o1;
}
});
二.给自定义类型列表排序
Collections.sort(lista,new Comparator<Object>() //lista为自定义列表,其余的都是固定写法
{
@Override
public int compare(Object o1, Object o2)
{
/*按员工编号正序排序*/
return o1.getEmpno()-o2.getEmpno();
/*按员工编号逆序排序*/
//return o2.getEmpno()-o1.getEmpno();
/*按员工姓名正序排序*/
//return o1.getEname().compareTo(o2.getEname());
/*按员工姓名逆序排序*/
//return o2.getEname().compareTo(o1.getEname());
}
});
o1-o2是正序(1,2,3,,),o2-o1是逆序(,,3,2,1)
原理:
这个方法返回三种 int 类型的值: 负整数,零 ,正整数;
负整数 : 当前对象的值 < 比较对象的值 , 位置排在前;
零 : 当前对象的值 = 比较对象的值 , 位置不变;
正整数 : 当前对象的值 > 比较对象的值 , 位置排在后