V tomto tutoriálu se pomocí příkladu dozvíme o rozhraní Java NavigableMap a jeho metodách.
NavigableMap
Rozhraní sbírek rámce Java poskytuje funkce pro pohyb mezi položkami mapy.
Považuje se to za typ SortedMap.
Třída, která implementuje NavigableMap
Protože NavigableMap
je to rozhraní, nemůžeme z něj vytvářet objekty.
Aby bylo možné používat funkce NavigableMap
rozhraní, musíme použít TreeMap
třídu, která implementuje NavigableMap
.
Jak používat NavigableMap?
V Javě musíme java.util.NavigableMap
balíček použít k použití NavigableMap
. Po importu balíčku můžeme vytvořit navigovatelnou mapu takto.
// NavigableMap implementation by TreeMap class NavigableMap numbers = new TreeMap();
Ve výše uvedeném kódu jsme vytvořili splavnou mapu s názvem čísla TreeMap
třídy.
Tady,
- Klíč - jedinečný identifikátor používaný k přidružení každého prvku (hodnoty) na mapě
- Hodnota - prvky spojené s klíči na mapě
Metody NavigableMap
The NavigableMap
je považován za typ SortedMap
. Je to proto, že NavigableMap
rozšiřuje SortedMap
rozhraní.
Všechny SortedMap
metody jsou tedy k dispozici také v NavigableMap
. Pokud se chcete dozvědět, jak jsou tyto metody definovány SortedMap
, navštivte Java SortedMap.
Nicméně, některé z metod SortedMap
( headMap()
, tailMap()
, a subMap()
) jsou definovány odlišně NavigableMap
.
Podívejme se, jak jsou tyto metody definovány NavigableMap
.
headMap (key, booleanValue)
Na headMap()
metoda vrátí všechny záznamy z splavné mapě spojenou s těmi klíči před zadaný klíč (který je předán jako argument).
BooleanValue je volitelný parametr. Jeho výchozí hodnota je false
.
Pokud true
je předán jako booleanValue, metoda vrátí všechny položky spojené se všemi těmito klíči před zadaným klíčem, včetně položky spojené se zadaným klíčem.
tailMap (key, booleanValue)
Na tailMap()
metoda vrátí všechny záznamy z splavné mapě souvislosti se všemi těmito tlačítky po zadaném klíči (který je předán jako argument) včetně vstupu spojené s daným klíčem.
BooleanValue je volitelný parametr. Jeho výchozí hodnota je true
.
Pokud false
je předán jako booleanValue, metoda vrátí všechny položky přidružené k těmto klíčům po zadaném klíči, aniž by zahrnovala položku přidruženou k zadanému klíči.
subMap (k1, bv1, k2, bv2)
Na subMap()
metoda vrátí všechny položky spojené s klíči mezi K1 a K2, včetně vstupu spojeného s K1.
Bv1 a bv2 jsou volitelné parametry. Výchozí hodnota bv1 je true a výchozí hodnota bv2 je false
.
Pokud false
je předáno jako bv1, metoda vrátí všechny položky spojené s klíči mezi k1 a k2, bez zahrnutí položky spojené s k1.
Pokud true
je předáno jako bv2, metoda vrátí všechny položky spojené s klíči mezi k1 a k2, včetně položky spojené s k1.
Jiné metody
NavigableMap
Poskytuje různé metody, které lze použít k vyhledání položky map.
- descendingMap () - obrátit pořadí položek na mapě
- descendingKeyMap () - obrátí pořadí klíčů v mapě
- stropEntry () - vrací záznam s nejnižším klíčem ze všech záznamů, jejichž klíče jsou větší nebo rovny zadanému klíči
- stropKey () - vrací nejnižší klávesu mezi klávesami, které jsou větší nebo rovny zadanému klíči
- floorEntry () - vrátí položku s nejvyšším klíčem mezi všemi těmi položkami, jejichž klíče jsou menší nebo stejné jako zadaný klíč
- floorKey () - vrátí nejvyšší klíč z těch klíčů, které jsou menší nebo rovny zadanému klíči
- higherEntry () - vrátí položku s nejnižším klíčem ze všech položek, jejichž klíče jsou větší než zadaný klíč
- higherKey () - vrací nejnižší klíč z těch klíčů, které jsou větší než zadaný klíč
- lowerEntry () - vrátí položku s nejvyšším klíčem ze všech položek, jejichž klíče jsou menší než zadaný klíč
- lowerKey () - vrátí nejvyšší klíč z těch klíčů, které jsou menší než zadaný klíč
- firstEntry () - vrátí první záznam (záznam s nejnižším klíčem) mapy
- lastEntry () - vrátí poslední záznam (záznam s nejvyšším klíčem) mapy
- pollFirstEntry () - vrátí a odebere první položku mapy
- pollLastEntry () - vrátí a odebere poslední položku mapy
Další informace najdete na webu Java NavigableMap (oficiální dokumentace prostředí Java).
Implementace NavigableMap ve třídě 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()); ) )
Výstup
NavigableMap: (One = 1, Three = 3, Two = 2) First Entry: One = 1 Last Entry: Two = 2 Removed First Entry: One = 1 Removed Last Entry: Two = 2
Chcete-li se dozvědět více o TreeMap
, navštivte Java TreeMap.
Nyní víme o tomto NavigableMap
rozhraní, o jeho implementaci se pomocí TreeMap
třídy podrobně dozvíme v dalším kurzu.