V tomto kurzu se seznámíme s rozhraním Java Map a jeho metodami.
Map
Rozhraní sbírek rámce Java poskytuje funkčnost konstrukce mapových dat.
Práce s mapou
V Javě jsou prvky Map
ulož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 Map
je to rozhraní, nemůžeme z něj vytvářet objekty.
Abychom mohli používat funkce Map
rozhraní, můžeme použít tyto třídy:
- HashMap
- EnumMap
- LinkedHashMap
- WeakHashMap
- TreeMap
Tyto třídy jsou definovány v rámci kolekce a implementují Map
rozhraní.

Rozhraní, která rozšiřují Mapu
Map
Rozhraní je také rozšířena těmito podrozhraní:
- SortedMap
- NavigableMap
- ConcurrentMap

Jak používat Map?
V Javě musíme java.util.Map
balíč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 Map
pojmenovaná čísla. HashMap
Třídu jsme použili k implementaci Map
rozhraní.
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í
Map
Rozhraní zahrnuje všechny metody Collection
rozhraní. Je to proto, že Collection
je super rozhraní Map
.
Kromě metod dostupných v Collection
rozhraní, Map
rozhraní 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 HashMap
najdete 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.