JAVA對list集合進行排序Collections.sort()


對一個集合中的對象進行排序,根據對象的某個指標的大小進行升序或降序排序。代碼如下:

// 進行降序排列 Collections.sort(list, new Comparator<ResultTypeDesc>() { public int compare(ResultTypeDesc o1, ResultTypeDesc o2) { return o2.getRatio().compareTo(o1.getRatio()); } });

 

// 進行升序排列 Collections.sort(list, new Comparator<ResultTypeDesc>() { public int compare(ResultTypeDesc o1, ResultTypeDesc o2) { return o1.getRatio().compareTo(o2.getRatio()); } });

 

經過測試發現,只需要把兩個對象的位置調換一下即可升序或降序。

如果指標相同,根據多個指標進行排序,需創建一個比較器:

import java.util.*; public class ComparatorResultType implements Comparator{ public int compare(Object arg0, Object arg1) { ResultTypeDesc desc0=(ResultTypeDesc)arg0; ResultTypeDesc desc1=(ResultTypeDesc)arg1; //首先比較主指標,如果主指標相同,則比較次指標 int flag=desc0.getXXX().compareTo(desc1.getXXX()); if(flag==0){ return desc0.getXXX2().compareTo(desc1.getXXX2()); }else{ return flag; } } } //測試類中代碼: ComparatorResultType comparator=new ComparatorResultType(); Collections.sort(list, comparator); 

 

對list集合進行逆輸出:

Collections.reverse(list);

 

ResultTypeDesc這個為所需的實體類對象,具體使用結合自己代碼情況即可。

此方法有可能報空指針,自己結合情況,自行解決,判斷是否為NULL。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM