ホームページ  >  記事  >  Java  >  JAVA ソートリスト collectionCollections.sort()

JAVA ソートリスト collectionCollections.sort()

高洛峰
高洛峰オリジナル
2017-01-23 16:49:041933ブラウズ

オブジェクトの特定のインジケーターのサイズに従って、コレクション内のオブジェクトを昇順または降順に並べ替えます。コードは次のとおりです。

降順で並べ替え

进行降序排列
   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());
   }
});

テストの結果、昇順または降順には 2 つのオブジェクトの位置を交換するだけでよいことがわかりました。

インジケーターが同じ場合、複数のインジケーターに基づいて並べ替えるには、コンパレーターを作成する必要があります:

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);

リスト コレクションの出力を反転します:

Collections.reverse(list);

ResultTypeDesc これは必要なエンティティ クラス オブジェクトを独自のコード状況に基づいて使用できます。

このメソッドは null ポインターを報告する場合があります。状況に応じて自分で解決し、NULL かどうかを判断できます。

リスト コレクションの JAVA 並べ替え Collections.sort() 関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。