V tomto výučbe sa pomocou príkladu dozvieme o rozhraní Java NavigableSet a jeho metódach.
NavigableSet
Rozhranie rámca Java zbierok poskytuje funkcie pre pohyb medzi nastavenými prvkov.
Považuje sa to za typ SortedSet.
Trieda, ktorá implementuje NavigableSet
Aby sme mohli využívať funkcie NavigableSet
rozhrania, musíme použiť TreeSet
triedu, ktorá implementuje NavigableSet
.
Ako používať NavigableSet?
V prostredí Java musíme importovať java.util.NavigableSet
balík, ktorý chcete použiť NavigableSet
. Po importovaní balíka môžeme vytvoriť navigovateľné množiny.
// SortedSet implementation by TreeSet class NavigableSet numbers = new TreeSet();
Tu sme vytvorili navigačnú množinu s názvom čísla TreeSet
triedy.
Metódy NavigableSet
The NavigableSet
sa považuje za typ SortedSet
. Je to preto, lebo NavigableSet
rozširuje SortedSet
rozhranie.
Všetky metódy SortedSet sú preto k dispozícii aj v NavigableSet. Ak sa chcete dozvedieť, ako tieto metódy prebiehajú, navštívte Java SortedSet.
Niektoré z metód SortedSet
( headSet()
, tailSet()
a subSet()
) sú však v aplikácii definované inak NavigableSet
.
Pozrime sa, ako sú tieto metódy definované v NavigableSet
.
headSet (element, booleanValue)
Tieto headSet()
metóda vráti všetky prvky splavné sady pred zadaného prvku (ktorý je odovzdaný ako argument).
Parameter booleanValue je voliteľný. Jeho predvolená hodnota je false
.
Ak true
sa odovzdá ako booleanValue, metóda vráti všetky prvky pred zadaným prvkom vrátane zadaného prvku.
tailSet (element, booleanValue)
Tieto tailSet()
metóda vráti všetky prvky splavné sady po zadanom prvok (ktorý je odovzdaný ako argument), vrátane zadaného prvku.
Parameter booleanValue je voliteľný. Jeho predvolená hodnota je true
.
Ak false
sa odovzdá ako booleanValue, metóda vráti všetky prvky po zadanom prvku bez uvedenia zadaného prvku.
podmnožina (e1, bv1, e2, bv2)
Tieto subSet()
metóda vráti všetky prvky medzi bodmi E1 a E2, vrátane E1.
Bv1 a bv2 sú voliteľné parametre. Predvolená hodnota bv1 je true
a predvolená hodnota bv2 je false
.
Ak false
sa odovzdá ako bv1, metóda vráti všetky prvky medzi e1 a e2 bez zahrnutia e1
.
Ak true
sa odovzdá ako bv2, metóda vráti všetky prvky medzi e1 a e2, vrátane e1.
Metódy navigácie
NavigableSet
Poskytuje rôzne metódy, ktoré možno použiť na navigáciu cez jeho prvkov.
- descendingSet () - obráti poradie prvkov v množine
- descendingIterator () - vráti iterátor, ktorý je možné použiť na iteráciu množiny v opačnom poradí
- strop () - vráti najnižší prvok z tých prvkov, ktoré sú väčšie alebo rovnaké ako zadaný prvok
- floor () - vráti najväčší prvok z tých prvkov, ktoré sú menšie alebo rovnaké ako zadaný prvok
- higher () - vráti najnižší prvok z tých prvkov, ktoré sú väčšie ako zadaný prvok
- lower () - vráti najväčší prvok z tých prvkov, ktoré sú menšie ako zadaný prvok
- pollFirst () - vráti a odstráni prvý prvok z množiny
- pollLast () - vráti a odstráni posledný prvok z množiny
Ak sa chcete dozvedieť viac NavigableSet
, navštívte Java NavigableSet (oficiálna dokumentácia Java).
Implementácia NavigableSet v triede 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); ) )
Výkon
NavigableSet: (1, 2, 3) Prvý prvok: 1 Posledný prvok: 3 Odstránený Prvý prvok: 1 Odstránený posledný prvok: 3
Ak sa chcete dozvedieť viac TreeSet
, navštívte Java TreeSet.
Teraz, keď vieme o NavigableSet
rozhraní, sa dozvieme o jeho implementácii pomocou TreeSet
triedy.