Comparator进行List集合排序


对数据库中查询到的结果进行排序,一般开发中,实体类是没有实现Comparable接口的,所以不能实现compareTo()方法进行排序,

只能用Comparator去进行排序,只需要在带排序的集合中加入以下代码就能实现排序功能了。compare比较的o1和o2,返回值大于0,则o1大于o2,返回值等于0,则o1等于o2。

 

Collections.sort(clientCircleList,new Comparator<ClientCircle>(){
@Override
public int compare(ClientCircle o1, ClientCircle o2) {
if(o2.getUid() > o1.getUid()){
return 1;
}
if(o2.getUid() == o1.getUid()) {
return (int) (o2.getId() - o1.getId());
}
return -1;
}
});
for (ClientCircle clientCircle : clientCircleList) {
System.out.println("UID: "+clientCircle.getUid()+ "+ID: " + clientCircle.getId());
}

比较UId的大小,相同则继续计较ID的大小,结果如下:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM