Maison >Java >javaDidacticiel >JAVA trie la collection de listes Collections.sort()

JAVA trie la collection de listes Collections.sort()

高洛峰
高洛峰original
2017-01-23 16:49:042002parcourir

Triez les objets d'une collection par ordre croissant ou décroissant en fonction de la taille d'un certain indicateur de l'objet. Le code est le suivant :

Trier par ordre décroissant

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

Trier par ordre croissant

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

Après les tests, il a été constaté qu'il suffit d'échanger les positions des deux objets pour monter ou descendre.

Si les indicateurs sont les mêmes, pour trier selon plusieurs indicateurs, il faut créer un comparateur :

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

Sortie inverse de la collection de listes :

Collections.reverse(list);

ResultTypeDesc est l'objet de classe d'entité requis. Vous pouvez l'utiliser en fonction de votre propre code.

Cette méthode peut signaler un pointeur nul. Vous pouvez le résoudre vous-même en fonction de la situation et déterminer s'il est NULL.

Pour plus d'articles liés aux collections de listes de tri JAVA Collections.sort(), veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn