Comment classer et trier une ArrayList en Java ?

Une classe Java peut être utilisée pour trier une ArrayList. Voici laquelle et comment l'utiliser.

Trier une arrayList est possible en Java grâce aux Collections. Utilisons ici une arrayList de doubles :

List<Double> liste = new ArrayList();
liste.add(0.5);
liste.add(0.2);
liste.add(0.9);

Cette classe est utilisée pour trier les éléments. Avant de l'utiliser dans son code, il faut l'importer avec la directive suivante :

import java.util.Collections;
Ensuite, pour trier l'arrayList dans l'ordre croissant, on peut utiliser la méthode "sort" :
Collections.sort(liste);

Le tableau sera alors trié de la manière suivante : 0.2 - 0.5 - 0.9. Pour trier dans l'ordre inverse, il y a deux possibilités. On peut utiliser le deuxième paramètre de la fonction "sort", qui correspond à un ordre de tri. Il faut alors indiquer l'ordre inverse. On peut également trier le tableau dans l'ordre, puis appeler la méthode "reverse" qui inverse l'arrayList.

//Tri dans l'ordre croissant puis inversion de la liste
Collections.sort(testList);
Collections.reverse(testList);
//Tri dans l'ordre décroissant
Collections.sort(list, Collections.reverseOrder());

Le choix de la méthode change surtout la manière dont sont traités les éléments de même valeur. Ils seront déplacés si l'on inverse la collection alors que ce ne sera pas forcément le cas avec un tri descendant direct. De plus, le tri descendant est plus direct et peut en conséquence avoir de meilleures performances pour de grandes listes. Il est également possible de trier d'autres types de listes en définissant son propre "Comparator".

Autour du même sujet

Java

Annonces Google