Rozhraní Java NavigableSet

V tomto kurzu se na příkladu dozvíme o rozhraní Java NavigableSet a jeho metodách.

NavigableSetRozhraní rámce Java sbírek poskytuje funkce pro pohyb mezi nastavenými prvků.

Považuje se to za typ SortedSet.

Třída, která implementuje NavigableSet

Aby bylo možné používat funkce NavigableSetrozhraní, musíme použít TreeSettřídu, která implementuje NavigableSet.

Jak používat NavigableSet?

V Javě musíme java.util.NavigableSetbalíček použít k použití NavigableSet. Jakmile naimportujeme balíček, můžeme vytvořit navigovatelné sady.

 // SortedSet implementation by TreeSet class NavigableSet numbers = new TreeSet(); 

Zde jsme vytvořili splavnou sadu pojmenovaných čísel TreeSettřídy.

Metody NavigableSet

The NavigableSetje považován za typ SortedSet. Je to proto, že NavigableSetrozšiřuje SortedSetrozhraní.

Všechny metody SortedSet jsou tedy k dispozici také v NavigableSet. Chcete-li se dozvědět, jak tyto metody, navštivte Java SortedSet.

Některé z metod SortedSet( headSet(), tailSet()a subSet()) jsou však v definovány odlišně NavigableSet.

Podívejme se, jak jsou tyto metody definovány NavigableSet.

headSet (element, booleanValue)

Tyto headSet()metoda vrátí všechny prvky splavné sady před zadaného prvku (který je předáno jako argument).

Parametr booleanValue je volitelný. Jeho výchozí hodnota je false.

Pokud trueje předán jako booleanValue, metoda vrátí všechny prvky před zadaným prvkem včetně zadaného prvku.

tailSet (element, booleanValue)

Tyto tailSet()metoda vrátí všechny prvky splavné sady po zadaném prvek (který je předán jako argument), včetně zadaného prvku.

Parametr booleanValue je volitelný. Jeho výchozí hodnota je true.

Pokud falseje předán jako booleanValue, metoda vrátí všechny prvky za zadaným prvkem bez zahrnutí zadaného prvku.

podmnožina (e1, bv1, e2, bv2)

Tyto subSet()metoda vrátí všechny prvky mezi body E1 a E2, včetně E1.

Bv1 a bv2 jsou volitelné parametry. Výchozí hodnota bv1 je truea výchozí hodnota bv2 je false.

Pokud falseje předán jako bv1, metoda vrátí všechny prvky mezi e1 a e2 bez zahrnutí e1.

Pokud trueje předán jako bv2, metoda vrátí všechny prvky mezi e1 a e2, včetně e1.

Metody navigace

NavigableSetPoskytuje různé metody, které lze použít k navigaci přes jeho prvků.

  • descendingSet () - obrací pořadí prvků v sadě
  • descendingIterator () - vrátí iterátor, který lze použít k iteraci sady v opačném pořadí
  • strop () - vrací nejnižší prvek mezi těmi prvky, které jsou větší nebo rovny určenému prvku
  • floor () - vrací největší prvek mezi těmi prvky, které jsou menší nebo rovny určenému prvku
  • higher () - vrací nejnižší prvek mezi těmi prvky, které jsou větší než zadaný prvek
  • lower () - vrací největší prvek mezi těmi prvky, které jsou menší než zadaný prvek
  • pollFirst () - vrátí a odebere první prvek ze sady
  • pollLast () - vrátí a odebere poslední prvek ze sady

Chcete-li se dozvědět více NavigableSet, navštivte Java NavigableSet (oficiální dokumentace Java).

Implementace NavigableSet ve třídě 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ýstup

 NavigableSet: (1, 2, 3) První prvek: 1 Poslední prvek: 3 Odebrán První prvek: 1 Odebrán poslední prvek: 3 

Chcete-li se dozvědět více TreeSet, navštivte Java TreeSet.

Nyní, když víme o NavigableSetrozhraní, se dozvíme o jeho implementaci pomocí TreeSettřídy.

Zajímavé články...