Exemple de la classe java.util.TreeSet
La classe
java.util.TreeSet de java est similaire à la classe
HashSet sauf qu'elle trie les éléments dans l'ordre croissant. Les données sont stockées dans une
TreeMap qui est un arbre binaire équilibré ou dans une SorteMap.
Le temps d’accès est très rapide, ce qui rend
TreeSet un excellent choix quand les données sont volumineuses et qui doivent être trouvées vite.
La classe
TreeSet implémente 4 constructeurs:
- TreeSet(): crée une TreeSet vide.- TreeSet(Collection c): crée une TreeSet qui contient les éléments de la collection d'objets c.- TreeSet(Comparator comp): crée une TreeSet vide qui va être triée selon le comparateur.- TreeSet(SortedSet sset): crée une TreeSet qui contient les éléments de sset.Méthodes de TreeSet
void add(Object o)Utilise la méthode
put() de TreeMap pour ajouter un couple.
void addAll(Collection c)Ajoute un ensemble d'éléments à la liste.
void remove(Object o)Supprime la première instance de la liste.
void clear()Supprime tous les éléments.
SortedSet subSet(Object E1, Object E2)Retourne la subliste des éléments qui se situent entre deux bornes [E1, E2].
SortedSet headSet(Object E)Retourne l'ensemble des éléments qui sont strictement inférieurs à
E.
SortedSet tailSet(Object E)Retourne l'ensemble des éléments qui sont supérieurs ou égaux à
E.
Object first()Retourne le premier élément dans cette liste ordonnée (le plus petit).
Object last()Retourne le dernier élément dans cette liste ordonnée (le plus grand).
Exemple
Dans cet exemple, on va tester deux types:
String et
Integer.
TreeSet est capable de trier aussi les chaines de caractères selon son code ASCII alpha-numérique.
import java.util.TreeSet;
public class Main {
public static void main(String args[]) {
// TreeSet de type String
TreeSet tsetString = new TreeSet();
// ajouter des objets de type String
tsetString.add("D");
tsetString.add("G");
tsetString.add("Z");
tsetString.add("A");
tsetString.add("F");
tsetString.add("T");
tsetString.add("S");
tsetString.add("M");
//Affichage
System.out.println(tsetString);
// TreeSet de type Integer
TreeSet tsetInteger = new TreeSet();
// ajouter des objets de type Integer
tsetInteger.add(5);
tsetInteger.add(87);
tsetInteger.add(42);
tsetInteger.add(24);
tsetInteger.add(23);
tsetInteger.add(152);
tsetInteger.add(70);
tsetInteger.add(54);
System.out.println(tsetInteger);
}
}
Sortie:
[A, D, F, G, M, S, T, Z]
[5, 23, 24, 42, 54, 70, 87, 152]
On voit ici que les deux listes contient des valeurs triées dans l'ordre croissant.
Vous pouvez consulter ces tutoriels sur la collection d'objets TreeSet:
Parcourir TreeSet en utilisant IteratorAjouter un élément à TreeSetSupprimer un élément de TreeSetSupprimer tous les éléments de TreeSetDifférence entre TreeSet et HashSetConvertir une HashSet en TreeSetExemple de TreeSet avec ComparableTrier TreeSet dans l'ordre décroissantVérifier si un élément existe dans TreeSetRéférences:
TutorialsPoint: java - The TreeSet classJavadoc: TreeSet