Interfejs Java NavigableMap

W tym samouczku dowiemy się o interfejsie Java NavigableMap i jego metodach na przykładzie.

NavigableMapInterfejs zbiorach ramach Java zapewnia funkcje nawigować między wpisami map.

Jest uważany za typ SortedMap.

Klasa implementująca NavigableMap

Ponieważ NavigableMapjest to interfejs, nie możemy tworzyć z niego obiektów.

Aby skorzystać z funkcjonalności NavigableMapinterfejsu, musimy skorzystać z TreeMapklasy, która implementuje NavigableMap.

Jak korzystać z NavigableMap?

W Javie musimy zaimportować java.util.NavigableMappakiet do użycia NavigableMap. Po zaimportowaniu pakietu możemy utworzyć mapę, po której można nawigować.

 // NavigableMap implementation by TreeMap class NavigableMap numbers = new TreeMap(); 

W powyższym kodzie stworzyliśmy nawigowalną mapę nazwaną numerami TreeMapklasy.

Tutaj,

  • Klucz - unikalny identyfikator służący do powiązania każdego elementu (wartości) na mapie
  • Wartość - elementy skojarzone z kluczami w mapie

Metody NavigableMap

NavigableMapJest uważane za rodzaj SortedMap. To dlatego, że NavigableMaprozszerza SortedMapinterfejs.

Dlatego wszystkie SortedMapmetody są również dostępne w NavigableMap. Aby dowiedzieć się, jak te metody są zdefiniowane w programie SortedMap, odwiedź Java SortedMap.

Jednakże, niektóre z tych metod SortedMap( headMap(), tailMap()i subMap()) są zdefiniowane w różny sposób NavigableMap.

Zobaczmy, jak te metody są zdefiniowane w NavigableMap.

headMap (key, booleanValue)

Te headMap()metody powraca Wszystkie wpisy żeglowna mapie związanego z tymi wszystkimi kluczami przed określonego klucza (który jest przekazywany jako argument).

Wartość booleanValue jest parametrem opcjonalnym. Jego domyślną wartością jest false.

Jeśli truejest przenoszona jako booleanValue, metoda zwraca wszystkie wpisy skojarzone ze wszystkimi tymi kluczami przed określonym kluczem, w tym wpis skojarzony z określonym kluczem.

tailMap (klucz, booleanValue)

Te tailMap()metody powraca Wszystkie wpisy żeglowna mapie związanego z tymi wszystkimi kluczami po upływie określonego klucza (która jest przekazywana jako argument) włącznie z wejściem skojarzonym z podanym kluczem.

Wartość booleanValue jest parametrem opcjonalnym. Jego domyślną wartością jest true.

Jeśli falsejest przenoszona jako booleanValue, metoda zwraca wszystkie wpisy skojarzone z tymi kluczami po określonym kluczu, bez uwzględniania wpisu skojarzonego z określonym kluczem.

mapa podrzędna (k1, bv1, k2, bv2)

Że subMap()metoda zwraca wszystkie wpisy związane z kluczami między K1 i K2 w tym wpisu związanego z K1.

Parametry bv1 i bv2 to parametry opcjonalne. Domyślna wartość bv1 to true, a domyślna wartość bv2 to false.

Jeśli falsejest przekazywana jako bv1, metoda zwraca wszystkie wpisy skojarzone z kluczami od k1 do k2, bez uwzględniania wpisu związanego z k1.

Jeśli truejest przekazywana jako bv2, metoda zwraca wszystkie wpisy skojarzone z kluczami od k1 do k2, w tym wpis powiązany z k1.

Inne metody

NavigableMapZapewnia różne metody, które mogą być używane do zlokalizowania wpisy z mapami.

  • descendingMap () - odwróć kolejność wpisów na mapie
  • descendingKeyMap () - odwraca kolejność kluczy na mapie
  • sufitEntry () - zwraca wpis o najniższym kluczu spośród wszystkich wpisów, których klucze są większe lub równe podanemu kluczowi
  • sufitKey () - zwraca najniższy klucz spośród tych kluczy, który jest większy lub równy podanemu kluczowi
  • floorEntry () - zwraca wpis z najwyższym kluczem spośród wszystkich wpisów, których klucze są mniejsze lub równe podanemu kluczowi
  • floorKey () - zwraca najwyższy klucz spośród tych kluczy, które są mniejsze lub równe podanemu kluczowi
  • wyższaEntry () - zwraca wpis o najniższym kluczu spośród wszystkich wpisów, których klucze są większe niż podany klucz
  • wyższyKey () - zwraca najniższy klucz spośród tych kluczy, które są większe niż określony klucz
  • lowerEntry () - zwraca wpis z najwyższym kluczem spośród wszystkich wpisów, których klucze są mniejsze niż podany klucz
  • lowerKey () - zwraca najwyższy klucz spośród tych kluczy, które są mniejsze niż podany klucz
  • firstEntry () - zwraca pierwszy wpis (wpis z najniższym kluczem) mapy
  • lastEntry () - zwraca ostatni wpis (wpis z najwyższym kluczem) mapy
  • pollFirstEntry () - zwraca i usuwa pierwszy wpis mapy
  • pollLastEntry () - zwraca i usuwa ostatni wpis mapy

Aby dowiedzieć się więcej, odwiedź Java NavigableMap (oficjalna dokumentacja Java).

Implementacja NavigableMap w klasie TreeMap

 import java.util.NavigableMap; import java.util.TreeMap; class Main ( public static void main(String() args) ( // Creating NavigableMap using TreeMap NavigableMap numbers = new TreeMap(); // Insert elements to map numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("NavigableMap: " + numbers); // Access the first entry of the map System.out.println("First Entry: " + numbers.firstEntry()); // Access the last entry of the map System.out.println("Last Entry: " + numbers.lastEntry()); // Remove the first entry from the map System.out.println("Removed First Entry: " + numbers.pollFirstEntry()); // Remove the last entry from the map System.out.println("Removed Last Entry: " + numbers.pollLastEntry()); ) ) 

Wynik

 NavigableMap: (Jeden = 1, Trzy = 3, Dwa = 2) Pierwszy wpis: Jeden = 1 Ostatni wpis: Dwa = 2 Usunięty Pierwszy wpis: Jeden = 1 Usunięty Ostatni wpis: Dwa = 2 

Aby dowiedzieć się więcej TreeMap, odwiedź Java TreeMap.

Teraz, gdy wiemy już o NavigableMapinterfejsie, o jego implementacji dowiemy się TreeMapszczegółowo w następnym tutorialu.

Interesujące artykuły...