Méthode Java sort ()

Table des matières

En Java, le framework de collections fournit une méthode statique sort () qui peut être utilisée pour trier les éléments d'une collection.

La sort()méthode du framework de collections utilise l'algorithme de tri par fusion pour trier les éléments d'une collection.

L'algorithme de tri par fusion est basé sur la règle de division et de conquête. Pour en savoir plus sur le tri par fusion, consultez Algorithme de tri par fusion.

Prenons un exemple de la sort()méthode.

Exemple: tri par ordre croissant

 import java.util.ArrayList; import java.util.Collections; class Main ( public static void main(String() args) ( // Creating an array list ArrayList numbers = new ArrayList(); // Add elements numbers.add(4); numbers.add(2); numbers.add(3); System.out.println("Unsorted ArrayList: " + numbers); // Using the sort() method Collections.sort(numbers); System.out.println("Sorted ArrayList: " + numbers); ) ) 

Production

 ArrayList non trié: (4, 2, 3) ArrayList trié: (2, 3, 4) 

Comme vous pouvez le voir, par défaut, le tri s'effectue dans l'ordre naturel (ordre croissant). Cependant, nous pouvons personnaliser l'ordre de tri de la sort()méthode.

Ordre de tri personnalisé

En Java, la sort()méthode peut être personnalisée pour effectuer le tri dans l'ordre inverse à l'aide de l' Comparatorinterface.

Exemple: tri par ordre décroissant

 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; class Main ( public static void main(String() args) ( // Creating an array list ArrayList numbers = new ArrayList(); // Add elements numbers.add(4); numbers.add(2); numbers.add(3); System.out.println("Unsorted ArrayList: " + numbers); // Using the sort() method Collections.sort(numbers); System.out.println("Natural Sorting: " + numbers); // Using the customized sort() method Collections.sort(numbers, new CustomComparator()); System.out.println("Customized Sorting: " + numbers); ) ) class CustomComparator implements Comparator ( @Override public int compare(Integer animal1, Integer animal2) ( int value = animal1.compareTo(animal2); // elements are sorted in reverse order if (value> 0) ( return -1; ) else if (value < 0) ( return 1; ) else ( return 0; ) ) ) 

Production

 ArrayList non trié: (4, 2, 3) Tri naturel: (2, 3, 4) Tri personnalisé: (4, 3, 2) 

Dans l'exemple ci-dessus, nous avons utilisé la sort()méthode avec CustomComparator comme argument.

Ici, CustomComparator est une classe qui implémente l' Comparatorinterface. En savoir plus sur l'interface de comparaison Java.

Nous remplaçons ensuite la compare()méthode. La méthode triera désormais les éléments dans l'ordre inverse.

Articles intéressants...