Cet article explore la méthode Collections.sort()
en Java, un outil puissant pour trier les éléments dans des collections comme les listes et les tableaux. Bien qu'un TreeSet
puisse également trier les éléments, Collections.sort()
offre de la flexibilité et de l'efficacité, en particulier lorsqu'il s'agit de listes et d'autres types de collection. Situé dans la classe java.util.Collections
, cette méthode trie principalement des éléments dans l'ordre croissant. Il s'agit d'une amélioration par rapport à java.util.Arrays.sort()
, capable de gérer divers types de collection, y compris des listes et des files d'attente liées.
illustrons avec un exemple:
Considérons une liste contenant ces chaînes:
<code>{"TutorialsPoint", "Friends", "Dear", "Is", "The", "Best", "Hey"}</code>
Après avoir appliqué Collections.sort()
, la liste devient:
<code>{"Dear", "Best", "Friends", "Hey", "Is", "The", "TutorialsPoint"}</code>
Plusieurs méthodes facilitent le tri:
public void sort(List list)
: Trie les éléments d'une liste. Surtout, les éléments doivent implémenter l'interface Comparable
. Cela fonctionne bien avec les chaînes et les classes d'emballage (comme Integer
).
sort(List list, Comparator c)
: Trie une liste à l'aide d'une personnalité Comparator
pour définir l'ordre de tri.
Collections.sort()
Cet algorithme décrit les étapes à utiliser Collections.sort()
dans un programme Java:
java.util.*
). List
(par exemple, ArrayList
). Collections.sort()
pour trier la liste. Les extraits de code suivants démontrent Collections.sort()
Utilisation:
Exemple 1 (tri une liste d'objets personnalisés):
class Fruit implements Comparable<Fruit> { int id; String name, taste; Fruit(int id, String name, String taste) { this.id = id; this.name = name; this.taste = taste; } @Override public int compareTo(Fruit f) { return this.id - f.id; } // Getters for id, name, and taste public int getId() { return id; } public String getName() { return name; } public String getTaste() { return taste; } } // ... (rest of the code to create and sort a list of Fruit objects) ...
Exemple 2 (tri une liste des entiers):
ArrayList<Integer> al = new ArrayList<>(); al.add(201); al.add(101); al.add(230); Collections.sort(al); // Sorts in ascending order
Cet article présente deux approches:
Approche 1: démonstration Collections.sort()
Cette approche montre comment trier un ArrayList
dans l'ordre croissant. La complexité temporelle est O (n log n), et l'espace auxiliaire est o (1).
Approche 2: Tri avec un Comparator
Cette approche démontre le tri personnalisé à l'aide d'une interface Comparator
, permettant des critères de tri définis par l'utilisateur. Des exemples montrent le tri Student
objets par numéro de rouleau.
Comparaison des performances (arrays.sort () vs collections.sort ())
Une comparaison des performances Arrays.sort()
et Collections.sort()
est incluse, mettant en évidence les légères différences de performances en fonction de la taille et du type des données.
En conclusion, Collections.sort()
fournit un moyen polyvalent et efficace de trier diverses collections Java, offrant à la fois des capacités de tri et de tri personnalisés par défaut via des comparateurs. Le choix entre Arrays.sort()
et Collections.sort()
dépend de la structure de données spécifique et des exigences de performance.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!