Maîtriser Java SortedSet : Guide pratique de TreeSet et de ses méthodes
Maîtriser Java SortedSet : Guide pratique de TreeSet et de ses méthodes
L'interface SortedSet, qui fait partie du framework Java Collections, représente un ensemble qui maintient ses éléments dans l'ordre croissant. Contrairement à un Set classique, un SortedSet garantit que ses éléments sont triés, soit selon leur ordre naturel (pour les types implémentant Comparable), soit selon un Comparator personnalisé fourni lors de la création.
Elle étend l'interface Set, héritant de toutes ses opérations standard tout en ajoutant une suite de méthodes de requête par plage, inestimables pour les collections ordonnées.
Classes implémentant SortedSet
L'unique implémentation concrète de SortedSet dans le JDK est TreeSet. Elle utilise un arbre rouge-noir en interne, garantissant une complexité en O(log n) pour la plupart des opérations.
Comment utiliser SortedSet
Pour travailler avec un SortedSet, importez java.util.SortedSet et créez une instance de TreeSet :
import java.util.SortedSet;
import java.util.TreeSet;
SortedSet<String> animaux = new TreeSet<>();
Par défaut, l'ensemble ordonne ses éléments naturellement. Si vous avez besoin d'un ordre personnalisé, fournissez un Comparator lors de la construction.
Méthodes clés de SortedSet
- comparator() – Renvoie le
Comparatorutilisé pour l'ordre, ounullsi l'ordre naturel s'applique. - first() – Récupère l'élément le plus petit.
- last() – Récupère l'élément le plus grand.
- headSet(E element) – Tous les éléments strictement inférieurs à l'élément spécifié.
- tailSet(E element) – Tous les éléments supérieurs ou égaux à l'élément spécifié.
- subSet(E fromElement, E toElement) – Éléments allant de
fromElement(inclusif) àtoElement(exclusif).
Ces méthodes héritent également de Set, fournissant les opérations de collection standard comme add, remove et contains.
TreeSet en action
import java.util.SortedSet;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
// Création d'un SortedSet d'entiers
SortedSet<Integer> nombres = new TreeSet<>();
// Remplissage de l'ensemble
nombres.add(1);
nombres.add(2);
nombres.add(3);
nombres.add(4);
System.out.println("SortedSet : " + nombres);
// Accès aux éléments limites
System.out.println("Premier nombre : " + nombres.first());
System.out.println("Dernier nombre : " + nombres.last());
// Suppression d'un élément
boolean supprime = nombres.remove(2);
System.out.println("Le nombre 2 a-t-il été supprimé ? " + supprime);
}
}
Sortie
SortedSet : [1, 2, 3, 4] Premier nombre : 1 Dernier nombre : 4 Le nombre 2 a-t-il été supprimé ? true
Pour approfondir TreeSet, consultez la documentation officielle Java : API TreeSet.
Avec une solide compréhension de SortedSet et TreeSet, vous pouvez désormais implémenter des collections ordonnées performantes et fiables dans vos applications Java.
Java
- Maîtriser les interfaces C# : Définition, implémentation et cas d'utilisation pratiques
- Maîtriser les opérateurs Java : Types, syntaxe et exemples pratiques
- Maîtriser les interfaces Java : concepts, implémentation et bonnes pratiques
- Maîtriser le try-with-resources Java : gestion automatique des ressources expliquée
- Annotations Java expliquées : types, placement et exemples pratiques
- Maîtriser l'interface NavigableSet de Java : Navigation, tri et exemples pratiques
- Interface vs Classe Abstraite en Java : Comment Choisir la Bonne Abstraction
- Comprendre les interfaces Java : Définitions, Usages et Bonnes pratiques
- Configuration de l'environnement de développement Java 10 : Compiler et exécuter