TreeSet de Java est un ensemble ordonné implémenté basé sur des arbres rouge-noir. Sa particularité est que les éléments sont triés par ordre de taille et que les éléments peuvent être rapidement ajoutés, supprimés et recherchés. Cet article explique comment utiliser la fonction TreeSet en Java pour effectuer des opérations d'ensemble ordonnées afin qu'elles puissent être mieux appliquées dans la programmation réelle.
1. Opérations de base de TreeSet
1. Créer un objet TreeSet
Pour utiliser TreeSet, vous devez d'abord créer un objet TreeSet. Vous pouvez utiliser le constructeur sans paramètre pour créer un TreeSet vide, ou vous pouvez spécifier un Comparator pour personnaliser le classement lors de la création de l'objet TreeSet.
Exemple de code :
TreeSet<Integer> set = new TreeSet<>(); TreeSet<String> set2 = new TreeSet<>(new Comparator<String>() { @Override public int compare(String o1, String o2) { // 自定义排序规则 return o1.compareToIgnoreCase(o2); } });
2. Ajouter des éléments
Ajoutez des éléments à TreeSet via la méthode add(). TreeSet triera automatiquement les éléments par ordre de taille et les mêmes éléments ne seront enregistrés qu'une seule fois.
Exemple de code :
set.add(3); set.add(1); set.add(2); set.add(3); // 结果为[1, 2, 3] System.out.println(set);
3. Supprimer des éléments
Vous pouvez utiliser la méthode Remove() pour supprimer des éléments dans un TreeSet.
Exemple de code :
set.remove(3); // 结果为[1, 2] System.out.println(set);
4. Déterminez si un élément existe
Vous pouvez utiliser la méthode contain() pour déterminer si un élément existe dans le TreeSet.
Exemple de code :
boolean contains = set.contains(2); // 结果为true System.out.println(contains);
5. Obtenez le nombre d'éléments
Vous pouvez utiliser la méthode size() pour obtenir le nombre d'éléments dans le TreeSet.
Exemple de code :
int size = set.size(); // 结果为2 System.out.println(size);
6. Traverser les éléments
Vous pouvez utiliser la méthode for loop ou forEach() pour parcourir les éléments du TreeSet.
Exemple de code :
for (Integer i : set) { System.out.print(i + " "); } System.out.println(); set.forEach(System.out::println);
Résultat de sortie :
1 2 1 2
2 Opérations avancées de TreeSet
1 Obtenez le premier élément et le dernier élément
Vous pouvez utiliser les méthodes first() et last() pour obtenir le premier. élément dans le TreeSet, un élément et le dernier élément.
Exemple de code :
Integer first = set.first(); Integer last = set.last(); // 结果为1 2 System.out.println(first + " " + last);
2. Obtenez un sous-ensemble
Vous pouvez utiliser la méthode subSet() pour obtenir un sous-ensemble de TreeSet, qui contient des éléments de fromElement (inclus) à toElement (exclusif). Si fromElement n’est pas spécifié, cela signifie commencer à partir du premier élément du TreeSet.
Exemple de code :
TreeSet<Integer> subSet = (TreeSet<Integer>) set.subSet(1, 2); // 结果为[1] System.out.println(subSet); TreeSet<String> subSet2 = (TreeSet<String>) set2.subSet("A", "c"); // 结果为[b, C] System.out.println(subSet2);
Il convient de noter que si le sous-ensemble change, le TreeSet d'origine changera également.
3. Obtenir un sous-ensemble d'éléments de tête ou de queue
Vous pouvez utiliser la méthode headSet() et la méthode tailSet() pour obtenir un sous-ensemble des éléments de tête (à l'exclusion de toElement) ou de queue (y compris fromElement) d'un TreeSet.
Exemple de code :
TreeSet<Integer> headSet = (TreeSet<Integer>) set.headSet(2); // 结果为[1] System.out.println(headSet); TreeSet<String> tailSet = (TreeSet<String>) set2.tailSet("b"); // 结果为[b, C] System.out.println(tailSet);
Notez également que si le sous-ensemble change, le TreeSet d'origine changera également.
4. Obtenez des éléments plus petits ou plus grands que l'élément spécifié
Vous pouvez utiliser la méthode lower(), la méthode floor(), la méthode upper() et la méthode plafond() pour obtenir les éléments qui sont plus petits ou plus grands que l'élément spécifié.
Exemple de code :
Integer lower = set.lower(2); Integer floor = set.floor(2); Integer higher = set.higher(1); Integer ceiling = set.ceiling(1); // 结果为1 2 2 1 System.out.println(lower + " " + floor + " " + higher + " " + ceiling);
Il convient de noter que :
3. Résumé
Cet article présente les opérations de base et les opérations avancées de la fonction TreeSet en Java. Vous pouvez sélectionner la méthode d'opération correspondante en fonction des besoins réels pour effectuer des opérations de collecte ordonnées. Il convient de noter que lors de l'utilisation des méthodes subSet(), headSet() et tailSet(), si le sous-ensemble change, le TreeSet d'origine changera également, vous devez donc garder cela à l'esprit.
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!