V tomto výučbe sa pomocou príkladu dozvieme o rozhraní Java NavigableMap a jeho metódach.
NavigableMap
Rozhranie zbierok rámca Java poskytuje funkcie pre pohyb medzi položkami mapy.
Považuje sa to za typ SortedMap.
Trieda, ktorá implementuje NavigableMap
Pretože NavigableMap
je to rozhranie, nemôžeme z neho vytvárať objekty.
Aby sme mohli využívať funkcie NavigableMap
rozhrania, musíme použiť TreeMap
triedu, ktorá implementuje NavigableMap
.
Ako používať NavigableMap?
V prostredí Java musíme importovať java.util.NavigableMap
balík, ktorý chcete použiť NavigableMap
. Po importovaní balíka môžeme vytvoriť navigovateľnú mapu nasledujúcim spôsobom.
// NavigableMap implementation by TreeMap class NavigableMap numbers = new TreeMap();
Vo vyššie uvedenom kóde sme vytvorili navigačnú mapu s názvom čísla TreeMap
triedy.
Tu,
- Kľúč - jedinečný identifikátor, ktorý sa používa na priradenie každého prvku (hodnoty) k mape
- Hodnota - prvky spojené s klávesmi na mape
Metódy NavigableMap
The NavigableMap
sa považuje za typ SortedMap
. Je to preto, lebo NavigableMap
rozširuje SortedMap
rozhranie.
Všetky SortedMap
metódy sú preto k dispozícii aj v NavigableMap
. Ak sa chcete dozvedieť, ako sú tieto metódy definované SortedMap
, navštívte stránku Java SortedMap.
Avšak, niektoré z metód SortedMap
( headMap()
, tailMap()
, a subMap()
) sú definované odlišne NavigableMap
.
Pozrime sa, ako sú tieto metódy definované v NavigableMap
.
headMap (key, booleanValue)
Na headMap()
metóda vráti všetky záznamy z splavné mape spojenú s tými kľúčmi pred zadaný kľúč (ktorý je odovzdaný ako argument).
BooleanValue je voliteľný parameter. Jeho predvolená hodnota je false
.
Ak true
sa odovzdá ako booleanValue, metóda vráti všetky položky spojené so všetkými týmito kľúčmi pred zadaným kľúčom, vrátane záznamu spojeného so zadaným kľúčom.
tailMap (key, booleanValue)
Na tailMap()
metóda vráti všetky záznamy z splavné mape súvislosti so všetkými týmito tlačidlami po zadanom kľúči (ktorý je odovzdaný ako argument) vrátane vstupu spojené s daným kľúčom.
BooleanValue je voliteľný parameter. Jeho predvolená hodnota je true
.
Ak false
sa odovzdá ako booleanValue, metóda vráti všetky položky spojené s týmito kľúčmi za zadaným kľúčom, bez zahrnutia záznamu súvisiaceho so zadaným kľúčom.
subMap (k1, bv1, k2, bv2)
Na subMap()
metóda vráti všetky položky spojené s kľúčmi medzi K1 a K2, vrátane vstupu spojeného s K1.
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 záznamy spojené s kľúčmi medzi k1 a k2, bez zahrnutia záznamu súvisiaceho s k1.
Ak true
sa odovzdá ako bv2, metóda vráti všetky záznamy spojené s kľúčmi medzi k1 a k2, vrátane záznamu spojeného s k1.
Iné metódy
NavigableMap
Poskytuje rôzne metódy, ktoré možno použiť na vyhľadanie položky máp.
- descendingMap () - obrátiť poradie položiek na mape
- descendingKeyMap () - obráti poradie klávesov na mape
- stropEntry () - vráti položku s najnižším kľúčom medzi všetkými položkami, ktorých kľúče sú väčšie alebo rovnaké ako zadaný kľúč
- stropKey () - vráti najnižší kľúč z tých kľúčov, ktoré sú väčšie alebo rovnaké ako zadaný kľúč
- floorEntry () - vráti položku s najvyšším kľúčom spomedzi všetkých tých položiek, ktorých kľúče sú menšie alebo rovnaké ako zadaný kľúč
- floorKey () - vráti najvyšší kľúč z tých kľúčov, ktoré sú menšie alebo rovnaké ako zadaný kľúč
- higherEntry () - vráti záznam s najnižším kľúčom zo všetkých tých záznamov, ktorých kľúče sú väčšie ako zadaný kľúč
- higherKey () - vráti najnižší kľúč z tých kľúčov, ktoré sú väčšie ako zadaný kľúč
- lowerEntry () - vráti položku s najvyšším kľúčom spomedzi všetkých tých položiek, ktorých kľúče sú menšie ako zadaný kľúč
- lowerKey () - vráti najvyšší kľúč z tých kľúčov, ktoré sú menšie ako zadaný kľúč
- firstEntry () - vráti prvý záznam (záznam s najnižším kľúčom) mapy
- lastEntry () - vráti posledný záznam (záznam s najvyšším kľúčom) mapy
- pollFirstEntry () - vráti a odstráni prvý záznam mapy
- pollLastEntry () - vráti a odstráni posledný záznam mapy
Ak sa chcete dozvedieť viac, navštívte Java NavigableMap (oficiálna dokumentácia Java).
Implementácia NavigableMap v triede 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ýkon
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
Ak sa chcete dozvedieť viac TreeMap
, navštívte Java TreeMap.
Teraz čo vieme o NavigableMap
rozhraní, sa dozvieme o jeho implementácii pomocou TreeMap
triedy podrobne v ďalšom návode.