U ovom uputstvu naučit ćemo o sučelju Java Map i njegovim metodama.
Map
Sučelje Java zbirki okvira pruža funkcionalnost strukture karta podataka.
Rad karte
U Javi se elementi Map
pohranjuju u parovima ključ / vrijednost . Ključevi su jedinstvene vrijednosti povezane s pojedinačnim vrijednostima .
Karta ne može sadržavati duplicirane ključeve. I, svaki je ključ povezan s jednom vrijednošću.
Vrijednostima možemo pristupiti i mijenjati ih pomoću tipki povezanih s njima.
U gornjem dijagramu imamo vrijednosti: Sjedinjene Države, Brazil i Španjolska. I mi imamo odgovarajuće ključeve: mi, br i es.
Sada tim vrijednostima možemo pristupiti pomoću odgovarajućih ključeva.
Napomena:Map
sučelje održava 3 različita seta:
- skup ključeva
- skup vrijednosti
- skup asocijacija ključ / vrijednost (mapiranje).
Stoga ključevima, vrijednostima i asocijacijama možemo pristupiti pojedinačno.
Razredi koji implementiraju Map
Budući da Map
je sučelje, od njega ne možemo stvarati objekte.
Da bismo koristili funkcionalnosti Map
sučelja, možemo koristiti ove klase:
- HashMap
- EnumMap
- LinkedHashMap
- WeakHashMap
- TreeMap
Te su klase definirane u okviru zbirki i implementiraju Map
sučelje.
![](https://cdn.wiki-base.com/4741423/java_map_interface_2.png.webp)
Sučelja koja proširuju Map
Map
Sučelje je također produžen ovim subinterfaces:
- SortedMap
- NavigableMap
- Istodobna karta
![](https://cdn.wiki-base.com/4741423/java_map_interface_3.png.webp)
Kako koristiti Map?
U Javi moramo uvesti java.util.Map
paket da bismo ga mogli koristiti Map
. Nakon što uvozimo paket, evo kako možemo stvoriti kartu.
// Map implementation using HashMap Map numbers = new HashMap();
U gornjem kodu stvorili smo Map
imenovane brojeve. HashMap
Klasu smo koristili za implementaciju Map
sučelja.
Ovdje,
- Ključ - jedinstveni identifikator koji se koristi za povezivanje svakog elementa (vrijednosti) na karti
- Vrijednost - elementi pridruženi ključevima na karti
Metode karte
Map
Sučelje uključuje sve metode iz Collection
sučelja. To je zato što Collection
je super sučelje Map
.
Osim metoda dostupnih u Collection
sučelju, Map
sučelje također uključuje sljedeće metode:
- put (K, V) - umeta pridruživanje ključa K i vrijednosti V na kartu. Ako je ključ već prisutan, nova vrijednost zamjenjuje staru vrijednost.
- putAll () - na ovu kartu ubacuje sve unose s navedene karte.
- putIfAbsent (K, V) - unosi asocijaciju ako ključ K već nije pridružen vrijednosti V.
- get (K) - Vraća vrijednost povezanu s navedenim ključem K. Ako ključ nije pronađen, vraća se
null
. - getOrDefault (K, defaultValue) - Vraća vrijednost povezanu s navedenim ključem K. Ako ključ nije pronađen, vraća defaultValue.
- containsKey (K) - Provjerava je li navedeni ključ K prisutan na karti ili nije.
- containsValue (V) - Provjerava je li navedena vrijednost V prisutna na karti ili nije.
- zamijeniti (K, V) - Zamijenite vrijednost ključa K novom specificiranom vrijednošću V.
- replace (K, oldValue, newValue) - zamjenjuje vrijednost ključa K novom vrijednošću newValue samo ako je ključ K pridružen vrijednosti oldValue.
- ukloni (K) - uklanja unos s karte predstavljen tipkom K.
- ukloni (K, V) - Uklanja unos s karte koji ima ključ K povezan s vrijednošću V.
- keySet () - Vraća skup svih tipki prisutnih na karti.
- values () - Vraća skup svih vrijednosti prisutnih na karti.
- entrySet () - Vraća skup svih mapiranja ključa / vrijednosti prisutnih na mapi.
Implementacija sučelja karte
1. Implementacija klase 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); ) )
Izlaz
Karta: (Jedan = 1, Dva = 2) Tipke: (Jedan, dva) Vrijednosti: (1, 2) Unosi: (Jedan = 1, Dva = 2) Uklonjena vrijednost: 2
Da biste saznali više o tome HashMap
, posjetite Javu HashMap.
2. Implementacija klase 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); ) )
Izlaz
Karta pomoću TreeMap: (Prva = 1, Druga = 2) Nova karta: (Prva = 11, Druga = 22) Uklonjena vrijednost: 11
Da biste saznali više o tome TreeMap
, posjetite Javu TreeMap.