Rozhraní Java Map

V tomto kurzu se seznámíme s rozhraním Java Map a jeho metodami.

MapRozhraní sbírek rámce Java poskytuje funkčnost konstrukce mapových dat.

Práce s mapou

V Javě jsou prvky Mapuloženy v párech klíč / hodnota . Klíče jsou jedinečné hodnoty spojené s jednotlivými hodnotami .

Mapa nemůže obsahovat duplicitní klíče. A každý klíč je přidružen k jedné hodnotě.

Můžeme přistupovat a upravovat hodnoty pomocí klíčů s nimi spojených.

Ve výše uvedeném diagramu máme hodnoty: USA, Brazílie a Španělsko. A máme odpovídající klíče: nás, br a es.

Nyní k těmto hodnotám můžeme přistupovat pomocí odpovídajících klíčů.

Poznámka:Map rozhraní udržuje 3 různé sady:

  • sada klíčů
  • množina hodnot
  • sada asociací klíč / hodnota (mapování).

Proto můžeme přistupovat ke klíčům, hodnotám a asociacím individuálně.

Třídy, které implementují Map

Protože Mapje to rozhraní, nemůžeme z něj vytvářet objekty.

Abychom mohli používat funkce Maprozhraní, můžeme použít tyto třídy:

  • HashMap
  • EnumMap
  • LinkedHashMap
  • WeakHashMap
  • TreeMap

Tyto třídy jsou definovány v rámci kolekce a implementují Maprozhraní.

Podtřídy mapy Java

Rozhraní, která rozšiřují Mapu

MapRozhraní je také rozšířena těmito podrozhraní:

  • SortedMap
  • NavigableMap
  • ConcurrentMap
Podrozhraní mapy Java

Jak používat Map?

V Javě musíme java.util.Mapbalíček použít, abychom jej mohli použít Map. Po importu balíčku můžeme vytvořit mapu takto.

 // Map implementation using HashMap Map numbers = new HashMap(); 

Ve výše uvedeném kódu jsme vytvořili Mappojmenovaná čísla. HashMapTřídu jsme použili k implementaci Maprozhraní.

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 mapování

MapRozhraní zahrnuje všechny metody Collectionrozhraní. Je to proto, že Collectionje super rozhraní Map.

Kromě metod dostupných v Collectionrozhraní, Maprozhraní také zahrnuje následující metody:

  • put (K, V) - Vloží asociaci klíče K a hodnoty V do mapy. Pokud je klíč již přítomen, nová hodnota nahradí starou hodnotu.
  • putAll () - Vloží všechny položky ze zadané mapy na tuto mapu.
  • putIfAbsent (K, V) - Vloží přidružení, pokud klíč K již není přidružen k hodnotě V.
  • get (K) - Vrátí hodnotu spojenou se zadaným klíčem K. Pokud klíč nebyl nalezen, vrátí se null.
  • getOrDefault (K, defaultValue) - Vrátí hodnotu spojenou se zadaným klíčem K. Pokud klíč nebyl nalezen, vrátí defaultValue.
  • containsKey (K) - Zkontroluje, zda je zadaný klíč K na mapě přítomen nebo ne.
  • containsValue (V) - Zkontroluje, zda je zadaná hodnota V na mapě přítomna nebo ne.
  • replace (K, V) - Nahraďte hodnotu klíče K novou zadanou hodnotou V.
  • replace (K, oldValue, newValue) - Nahradí hodnotu klíče K novou hodnotou newValue, pouze pokud je klíč K přidružen k hodnotě oldValue.
  • remove (K) - Odebere záznam z mapy představovaný klávesou K.
  • remove (K, V) - Odebere záznam z mapy, který má klíč K spojený s hodnotou V.
  • keySet () - Vrátí sadu všech klíčů přítomných na mapě.
  • values ​​() - Vrátí sadu všech hodnot přítomných na mapě.
  • entrySet () - Vrátí sadu veškerého mapování klíčů / hodnot na mapě.

Implementace mapového rozhraní

1. Implementace třídy HashMap

 import java.util.Map; import java.util.HashMap; class Main ( public static void main(String() args) ( // Creating a map using the HashMap Map numbers = new HashMap(); // Insert elements to the map numbers.put("One", 1); numbers.put("Two", 2); System.out.println("Map: " + numbers); // Access keys of the map System.out.println("Keys: " + numbers.keySet()); // Access values of the map System.out.println("Values: " + numbers.values()); // Access entries of the map System.out.println("Entries: " + numbers.entrySet()); // Remove Elements from the map int value = numbers.remove("Two"); System.out.println("Removed Value: " + value); ) ) 

Výstup

 Mapa: (Jeden = 1, Dva = 2) Klávesy: (Jeden, Dva) Hodnoty: (1, 2) Záznamy: (Jeden = 1, Dva = 2) Odstraněná hodnota: 2 

Další informace HashMapnajdete na Java HashMap.

2. Implementace třídy TreeMap

 import java.util.Map; import java.util.TreeMap; class Main ( public static void main(String() args) ( // Creating Map using TreeMap Map values = new TreeMap(); // Insert elements to map values.put("Second", 2); values.put("First", 1); System.out.println("Map using TreeMap: " + values); // Replacing the values values.replace("First", 11); values.replace("Second", 22); System.out.println("New Map: " + values); // Remove elements from the map int removedValue = values.remove("First"); System.out.println("Removed Value: " + removedValue); ) ) 

Výstup

 Mapa pomocí TreeMap: (první = 1, druhá = 2) nová mapa: (první = 11, druhá = 22) odstraněná hodnota: 11 

Chcete-li se dozvědět více o TreeMap, navštivte Java TreeMap.

Zajímavé články...