Par défaut, les éléments dans ArrayList sont affichés dans l'ordre de leur insertion dans la liste, mais parfois on a besoin de parcourir ces éléments dans l'ordre croissant ou décroissant. Ce code implémente la méthode Collections.sort() qui fait le tri d'un Arraylist dans l'ordre croissant et décroissant.
American Standard Code for Information Interchange
Documentation Collections.sort
stackOverFlow:How to sort a ArrayList in java
            Trier ArrayList dans l'ordre croissant
import java.util.ArrayList;
import java.util.Collections;
public class Tri {
 public static void main(String[] args) {
 ArrayList nontrié = new ArrayList();
 nontrié.add("01");
 nontrié.add("0A");
 nontrié.add("0B");
 nontrié.add("ETX");
 nontrié.add("00");
 nontrié.add("0C");
 nontrié.add("NUL");
 nontrié.add("05");
 nontrié.add("19");
 nontrié.add("0001011");
 
 System.out.println("Avant le tri");
 for(int i=0; i < nontrié.size(); i++)
 System.out.println(nontrié.get(i));
 
 System.out.println("\nAprès le tri");
 Collections.sort(nontrié);
 for(int i=0; i < nontrié.size(); i++)
 System.out.println(nontrié.get(i));
 }
}  Avant le tri
01 
0A 
0B 
ETX 
00 
0C 
NUL 
05 
19 
0001011 
Après le tri
00 
0001011 
01 
05 
0A 
0B 
0C 
19 
ETX 
NUL 
Trier ArrayList dans l'ordre décroissant
La classe Collections possède une autre méthode Collections.sort(List<T>, Comparator<T>) qui permet de trier un ArrayList dans l'ordre croissant et décroissant. Cette fonction utilise un comparateur d'objets qui à chaque fois compare deux objets avec la fonction o1.compareTo(o2).import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class Tri {
 public static void main(String[] args) {
 ArrayList nontrié = new ArrayList();
 nontrié.add("11000000");
 nontrié.add("10101000");
 nontrié.add("00000001");
 nontrié.add("00001111");
 nontrié.add("00001100");
 nontrié.add("00001111");
 nontrié.add("11111111");
 nontrié.add("11111100");
 nontrié.add("00000000");
 nontrié.add("00000011");
 nontrié.add("00001110");
 
 System.out.println("Avant le tri");
 for(int i=0; i < nontrié.size(); i++)
 System.out.println(nontrié.get(i)+" ");
 
 System.out.println("\nAprès le tri");
 Collections.sort(nontrié, new Comparator() {
 @Override
 public int compare(String s1, String s2)
 {
 /*s2 comparée à s1 pour que l'ordre soit décroissant
 return s2.compareTo(s1);
 }
 });
 for(int i=0; i < nontrié.size(); i++)
 System.out.println(nontrié.get(i)+" ");
 }
}
   Avant le tri
11000000 
10101000 
00000001 
00001111 
00001100 
00001111 
11111111 
11111100 
00000000 
00000011 
00001110 
Après le tri
11111111 
11111100 
11000000 
10101000 
00001111 
00001111 
00001110 
00001100 
00000011 
00000001 
00000000 
American Standard Code for Information Interchange
Documentation Collections.sort
stackOverFlow:How to sort a ArrayList in java
Commentaires (0)
Laisser un commentaire
Connectez-vous pour commenter
Rejoignez la discussion et partagez vos connaissances avec la communauté
Chargement des commentaires...