Heim  >  Artikel  >  Java  >  JAVA sortiert die Liste „collectionCollections.sort()“

JAVA sortiert die Liste „collectionCollections.sort()“

高洛峰
高洛峰Original
2017-01-23 16:49:041932Durchsuche

Sortieren Sie die Objekte in einer Sammlung in aufsteigender oder absteigender Reihenfolge entsprechend der Größe eines bestimmten Indikators des Objekts. Der Code lautet wie folgt:

Sortieren in absteigender Reihenfolge

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

Sortieren in aufsteigender Reihenfolge

Collections.sort(list, new Comparator<ResultTypeDesc>() {
public int compare(ResultTypeDesc o1, ResultTypeDesc o2) {
return o1.getRatio().compareTo(o2.getRatio());
   }
});

Nach dem Test wurde festgestellt, dass nur die Positionen der beiden Objekte ausgetauscht werden müssen, um aufzusteigen oder abzusteigen.

Wenn die Indikatoren gleich sind, muss zum Sortieren nach mehreren Indikatoren ein Komparator erstellt werden:

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

Inverse Ausgabe der Listensammlung:

Collections.reverse(list);

ResultTypeDesc ist das erforderliche Entitätsklassenobjekt. Sie können es basierend auf Ihrem eigenen Code verwenden.

Diese Methode meldet möglicherweise einen Nullzeiger. Sie können ihn je nach Situation selbst lösen und feststellen, ob er NULL ist.

Weitere Artikel zu JAVA-Sortierlistensammlungen Collections.sort() finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn