首頁  >  文章  >  Java  >  JAVA對list集合進行排序Collections.sort()

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

高洛峰
高洛峰原創
2017-01-23 16:49:041965瀏覽

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

進行降序排列

进行降序排列
   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。

更多JAVA對list集合進行排序Collections.sort()相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn