W tym samouczku dowiemy się o interfejsie Java NavigableSet i jego metodach na przykładzie.
NavigableSet
Interfejs ramach kolekcje Java zapewnia funkcje, aby poruszać się wśród ustawionych elementów.
Jest uważany za typ SortedSet.
Klasa implementująca NavigableSet
Aby skorzystać z funkcjonalności NavigableSet
interfejsu, musimy skorzystać z TreeSet
klasy, która implementuje NavigableSet
.
Jak korzystać z NavigableSet?
W Javie musimy zaimportować java.util.NavigableSet
pakiet do użycia NavigableSet
. Po zaimportowaniu pakietu, oto jak możemy tworzyć zestawy nawigacyjne.
// SortedSet implementation by TreeSet class NavigableSet numbers = new TreeSet();
Tutaj stworzyliśmy zbiór nazwanych numerów TreeSet
klasy , po którym można nawigować .
Metody NavigableSet
NavigableSet
Jest uważane za rodzaj SortedSet
. To dlatego, że NavigableSet
rozszerza SortedSet
interfejs.
W związku z tym wszystkie metody SortedSet są również dostępne w NavigableSet. Aby dowiedzieć się, jak te metody, odwiedź Java SortedSet.
Jednakże, niektóre z tych metod SortedSet
( headSet()
, tailSet()
i subSet()
) są zdefiniowane w różny sposób NavigableSet
.
Zobaczmy, jak te metody są zdefiniowane w NavigableSet
.
headSet (element, booleanValue)
Te headSet()
metody zwraca wszystkie elementy zestawu żeglowną przed określonego elementu (która jest przekazywana jako argumentu).
Parametr booleanValue jest opcjonalny. Jego domyślną wartością jest false
.
Jeśli true
jest przenoszona jako booleanValue, metoda zwraca wszystkie elementy przed określonym elementem, w tym określony element.
tailSet (element, booleanValue)
Te tailSet()
metody zwraca wszystkie elementy żeglowną zbioru po upływie określonego elementu (która jest przekazywana jako argument) wraz z określonym elementem.
Parametr booleanValue jest opcjonalny. Jego domyślną wartością jest true
.
Jeśli false
jest przenoszona jako booleanValue, metoda zwraca wszystkie elementy po określonym elemencie bez uwzględniania określonego elementu.
podzbiór (e1, bv1, e2, bv2)
Te subSet()
metody powraca wszystkie pozycje pomiędzy E1 i E2, łącznie z E1.
Parametry bv1 i bv2 to parametry opcjonalne. Domyślna wartość bv1 to true
, a domyślna wartość bv2 to false
.
Jeśli false
jest przekazywana jako bv1, metoda zwraca wszystkie elementy między e1 i e2 bez uwzględniania e1
.
Jeśli true
zostanie przekazana jako bv2, metoda zwraca wszystkie elementy między e1 i e2, w tym e1.
Metody nawigacji
NavigableSet
Dostarcza różnych metod, które mogą być wykorzystywane do poruszania się w stosunku do jego elementów.
- descendingSet () - odwraca kolejność elementów w zestawie
- descendingIterator () - zwraca iterator, którego można użyć do iteracji zestawu w odwrotnej kolejności
- sufit () - zwraca najniższy element spośród tych elementów, które są większe lub równe podanemu elementowi
- floor () - zwraca największy element spośród tych elementów, które są mniejsze lub równe podanemu elementowi
- wyższy () - zwraca najniższy element spośród tych elementów, które są większe niż określony element
- lower () - zwraca największy element spośród tych elementów, które są mniejsze niż określony element
- pollFirst () - zwraca i usuwa pierwszy element z zestawu
- pollLast () - zwraca i usuwa ostatni element z zestawu
Aby dowiedzieć się więcej na temat NavigableSet
, odwiedź Java NavigableSet (oficjalna dokumentacja Java).
Implementacja NavigableSet w klasie TreeSet
import java.util.NavigableSet; import java.util.TreeSet; class Main ( public static void main(String() args) ( // Creating NavigableSet using the TreeSet NavigableSet numbers = new TreeSet(); // Insert elements to the set numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("NavigableSet: " + numbers); // Access the first element int firstElement = numbers.first(); System.out.println("First Number: " + firstElement); // Access the last element int lastElement = numbers.last(); System.out.println("Last Element: " + lastElement); // Remove the first element int number1 = numbers.pollFirst(); System.out.println("Removed First Element: " + number1); // Remove the last element int number2 = numbers.pollLast(); System.out.println("Removed Last Element: " + number2); ) )
Wynik
Zestaw Navigable: (1, 2, 3) Pierwszy element: 1 Ostatni element: 3 Usunięty Pierwszy element: 1 Usunięty Ostatni element: 3
Aby dowiedzieć się więcej TreeSet
, odwiedź Java TreeSet.
Teraz, gdy wiemy już o NavigableSet
interfejsie, dowiemy się o jego implementacji za pomocą TreeSet
klasy.