V tomto výučbe sa dozvieme o rozhraní Java Map a jeho metódach.
Map
Rozhranie zbierok rámca Java poskytuje funkčnosť konštrukcie mapových dát.
Pracovanie s mapou
V Jave sú prvky prvku Map
uložené v pároch kľúč - hodnota . Kľúče sú jedinečné hodnoty spojené s jednotlivými hodnotami .
Mapa nemôže obsahovať duplicitné kľúče. A každý kľúč je priradený k jednej hodnote.
K hodnotám môžeme pristupovať a upravovať ich pomocou klávesov, ktoré sú s nimi spojené.
Vo vyššie uvedenom diagrame máme hodnoty: USA, Brazília a Španielsko. A máme zodpovedajúce kľúče: my, br a es.
Teraz môžeme k týmto hodnotám získať prístup pomocou ich zodpovedajúcich kľúčov.
Poznámka:Map
rozhranie udržuje 3 rôzne sady:
- sada kľúčov
- množina hodnôt
- množina asociácií kľúč / hodnota (mapovanie).
Preto môžeme ku kľúčom, hodnotám a asociáciám pristupovať individuálne.
Triedy, ktoré implementujú Map
Pretože Map
je to rozhranie, nemôžeme z neho vytvárať objekty.
Aby sme mohli používať funkcie Map
rozhrania, môžeme použiť tieto triedy:
- HashMap
- EnumMap
- LinkedHashMap
- WeakHashMap
- TreeMap
Tieto triedy sú definované v rámci kolekcií a implementujú Map
rozhranie.

Rozhrania rozširujúce mapu
Map
Rozhranie je tiež rozšírená týmito podrozhraní:
- SortedMap
- NavigableMap
- ConcurrentMap

Ako používať Mapu?
V prostredí Java musíme java.util.Map
balíček naimportovať, aby sme ho mohli používať Map
. Po importovaní balíka môžeme vytvoriť mapu takto.
// Map implementation using HashMap Map numbers = new HashMap();
Vo vyššie uvedenom kóde sme vytvorili Map
pomenované čísla. Na HashMap
implementáciu Map
rozhrania sme použili triedu .
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 mapovania
Map
Rozhranie zahŕňa všetky metódy Collection
rozhrania. Je to preto, že Collection
je super rozhraním Map
.
Okrem metód dostupných v Collection
rozhraní obsahuje Map
rozhranie aj nasledujúce metódy:
- put (K, V) - Vloží asociáciu kľúča K a hodnoty V do mapy. Ak je kľúč už prítomný, nová hodnota nahradí starú hodnotu.
- putAll () - Vloží všetky záznamy zo zadanej mapy na túto mapu.
- putIfAbsent (K, V) - Vloží asociáciu, ak kľúč K ešte nie je priradený k hodnote V.
- get (K) - Vráti hodnotu spojenú so zadaným kľúčom K. Ak sa kľúč nenájde, vráti sa
null
. - getOrDefault (K, defaultValue) - Vráti hodnotu spojenú so zadaným kľúčom K. Ak sa kľúč nenájde, vráti defaultValue.
- containsKey (K) - Skontroluje, či je zadaný kľúč K na mape prítomný alebo nie.
- containsValue (V) - Skontroluje, či je zadaná hodnota V na mape prítomná alebo nie.
- replace (K, V) - Nahraďte hodnotu kľúča K novou zadanou hodnotou V.
- replace (K, oldValue, newValue) - Nahradí hodnotu kľúča K novou hodnotou newValue, iba ak je kláves K spojený s hodnotou oldValue.
- remove (K) - Odstráni záznam z mapy predstavovanej klávesom K.
- remove (K, V) - Odstráni záznam z mapy, ktorý má kľúč K spojený s hodnotou V.
- keySet () - Vráti množinu všetkých kľúčov nachádzajúcich sa na mape.
- values () - Vráti množinu všetkých hodnôt nachádzajúcich sa na mape.
- entrySet () - Vráti množinu všetkých mapovaní kľúčov / hodnôt nachádzajúcich sa na mape.
Implementácia mapového rozhrania
1. Implementácia triedy 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ýkon
Mapa: (Jeden = 1, Dva = 2) Kľúče: (Jeden, Dva) Hodnoty: (1, 2) Záznamy: (Jeden = 1, Dva = 2) Odstránená hodnota: 2
Ak sa chcete dozvedieť viac HashMap
, navštívte Java HashMap.
2. Implementácia triedy 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ýkon
Mapa pomocou TreeMap: (prvá = 1, druhá = 2) nová mapa: (prvá = 11, druhá = 22) odstránená hodnota: 11
Ak sa chcete dozvedieť viac TreeMap
, navštívte Java TreeMap.