Rozhraní Java NavigableMap

V tomto tutoriálu se pomocí příkladu dozvíme o rozhraní Java NavigableMap a jeho metodách.

NavigableMapRozhraní 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 NavigableMapje to rozhraní, nemůžeme z něj vytvářet objekty.

Aby bylo možné používat funkce NavigableMaprozhraní, musíme použít TreeMaptřídu, která implementuje NavigableMap.

Jak používat NavigableMap?

V Javě musíme java.util.NavigableMapbalíč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 TreeMaptří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 NavigableMapje považován za typ SortedMap. Je to proto, že NavigableMaprozšiřuje SortedMaprozhraní.

Všechny SortedMapmetody 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 trueje 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 falseje 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 falseje 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 trueje 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

NavigableMapPoskytuje 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 NavigableMaprozhraní, o jeho implementaci se pomocí TreeMaptřídy podrobně dozvíme v dalším kurzu.

Zajímavé články...