W tym samouczku dowiemy się o interfejsie Java NavigableMap i jego metodach na przykładzie.
NavigableMap
Interfejs zbiorach ramach Java zapewnia funkcje nawigować między wpisami map.
Jest uważany za typ SortedMap.
Klasa implementująca NavigableMap
Ponieważ NavigableMap
jest to interfejs, nie możemy tworzyć z niego obiektów.
Aby skorzystać z funkcjonalności NavigableMap
interfejsu, musimy skorzystać z TreeMap
klasy, która implementuje NavigableMap
.
Jak korzystać z NavigableMap?
W Javie musimy zaimportować java.util.NavigableMap
pakiet 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 TreeMap
klasy.
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
NavigableMap
Jest uważane za rodzaj SortedMap
. To dlatego, że NavigableMap
rozszerza SortedMap
interfejs.
Dlatego wszystkie SortedMap
metody 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 true
jest 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 false
jest 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 false
jest przekazywana jako bv1, metoda zwraca wszystkie wpisy skojarzone z kluczami od k1 do k2, bez uwzględniania wpisu związanego z k1.
Jeśli true
jest przekazywana jako bv2, metoda zwraca wszystkie wpisy skojarzone z kluczami od k1 do k2, w tym wpis powiązany z k1.
Inne metody
NavigableMap
Zapewnia 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 NavigableMap
interfejsie, o jego implementacji dowiemy się TreeMap
szczegółowo w następnym tutorialu.