Comparator进行List集合排序

别来无恙 提交于 2019-11-26 19:53:10

对数据库中查询到的结果进行排序,一般开发中,实体类是没有实现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的大小,结果如下:

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!