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