English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, nous allons apprendre l'interface Java NavigableSet et ses méthodes à travers un exemple.
L'interface NavigableSet du cadre Java Collections fournit des fonctionnalités de navigation entre les éléments d'un ensemble.
Il est considéré commeUne version de SortedSet.
Pour utiliser les fonctionnalités de l'interface NavigableSet, nous devons utiliser la classe qui implémente NavigableSet, à savoir TreeSet.
Pour utiliser les fonctionnalités de l'interface NavigableSet, nous devons utiliser la classe TreeSet qui implémente NavigableSet.
// Implémentation de SortedSet par la classe TreeSet NavigableSet<String> numbers = new TreeSet<>();
Ici, nous avons créé un ensemble navigable nommé numbers de la classe TreeSet.
NavigableSet est considéré comme une version de SortedSet. Cela est dû au fait que NavigableSet hérite de l'interface SortedSet.
Par conséquent, toutes les méthodes de SortedSet sont également disponibles dans NavigableSet. Pour en savoir plus sur ces méthodes, visitezJava SortedSet.
Cependant, dans NavigableSet, certaines méthodes de SortedSet (headSet(), tailSet() et subSet()) sont définies différemment.
Voyons comment définir ces méthodes dans NavigableSet.
La méthode headSet() retourne tous les éléments du ensemble navigable précédant l'élément spécifié (passé en paramètre).
Le paramètre booleanValue est optionnel. La valeur par défaut est false.
Si la valeur de booleanValue est true, cette méthode retourne tous les éléments précédant l'élément spécifié, y compris l'élément spécifié.
tailSet() retourne tous les éléments de la collection navigable après l'élément spécifié (transmis en tant que paramètre), y compris l'élément spécifié.
Le paramètre booleanValue est optionnel. La valeur par défaut est true.
Si booleanValue est false, cette méthode retourne tous les éléments après l'élément spécifié, sans inclure l'élément spécifié.
La méthode subSet() retourne e1et e2tous les éléments entre, y compris e1.
bv1et bv2est un paramètre optionnel. bv1La valeur par défaut est true, bv2La valeur par défaut est false.
si false est transmis comme bv1transmis, alors cette méthode retourne e1et e2tous les éléments entre, sans inclure e1.
si true est transmis comme bv2transmis, alors cette méthode retourne e1et e2tous les éléments entre, y compris e1.
NavigableSet fournit diverses méthodes utilisables pour naviguer dans ses éléments.
DescendingSet() - Inverser l'ordre des éléments de la collection
DescendingIterator() - Retourner un itérateur, qui peut être utilisé pour itérer sur la collection dans l'ordre inverse
ceiling() - Retourner l'élément le plus petit supérieur ou égal à l'élément spécifié
floor() - Retourner l'élément le plus grand inférieur ou égal à l'élément spécifié
Higher() - Retourner l'élément le plus petit supérieur à l'élément spécifié
lower() - Retourner l'élément le plus grand inférieur à l'élément spécifié
pollFirst() - Retourner et supprimer l'élément premier de la collection
pollLast() - Retourner et supprimer l'élément final de la collection
import java.util.NavigableSet; import java.util.TreeSet; class Main { public static void main(String[] args) { //Créer un NavigableSet en utilisant TreeSet NavigableSet<Integer> numbers = new TreeSet<>(); //Insérer un élément dans la collection numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("NavigableSet: " + numbers); //Accéder à l'élément premier int firstElement = numbers.first(); System.out.println("Premier élément: " + firstElement); //Accéder à l'élément final int lastElement = numbers.last(); System.out.println("Last element: ", + lastElement); //Delete the first element int number1 = numbers.pollFirst(); System.out.println("Delete the first element: ", + number1); //Delete the last element int number2 = numbers.pollLast(); System.out.println("Delete the last element: ", + number2); } }
Output result
NavigableSet: [1, 2, 3] First element: 1 Last element: 3 Delete the first element: 1 Delete the last element: 3
To learn more about TreeSet, please visitJava TreeSet.
Since we have already known the NavigableSet interface, we will use the TreeSet class to learn its implementation.