In questo tutorial impareremo a conoscere l'interfaccia Java Map e i suoi metodi.
L' Map
interfaccia del framework delle collezioni Java fornisce la funzionalità della struttura dei dati della mappa.
Lavorazione della mappa
In Java, gli elementi di Map
vengono memorizzati in coppie chiave / valore . Le chiavi sono valori univoci associati a singoli valori .
Una mappa non può contenere chiavi duplicate. E ogni chiave è associata a un singolo valore.
Possiamo accedere e modificare i valori utilizzando le chiavi ad essi associate.
Nel diagramma sopra, abbiamo i valori: Stati Uniti, Brasile e Spagna. E abbiamo chiavi corrispondenti: us, br ed es.
Ora possiamo accedere a quei valori usando le chiavi corrispondenti.
Nota: l' Map
interfaccia mantiene 3 diversi set:
- il mazzo di chiavi
- l'insieme di valori
- l'insieme delle associazioni chiave / valore (mapping).
Quindi possiamo accedere individualmente a chiavi, valori e associazioni.
Classi che implementano Map
Poiché Map
è un'interfaccia, non possiamo creare oggetti da essa.
Per utilizzare le funzionalità Map
dell'interfaccia, possiamo utilizzare queste classi:
- HashMap
- EnumMap
- LinkedHashMap
- WeakHashMap
- TreeMap
Queste classi sono definite nel framework delle collezioni e implementano l' Map
interfaccia.

Interfacce che estendono Map
L' Map
interfaccia è estesa anche da queste sottointerfacce:
- SortedMap
- NavigableMap
- ConcurrentMap

Come si usa la mappa?
In Java, dobbiamo importare il java.util.Map
pacchetto per poter utilizzare Map
. Una volta importato il pacchetto, ecco come possiamo creare una mappa.
// Map implementation using HashMap Map numbers = new HashMap();
Nel codice sopra, abbiamo creato un Map
numero con nome. Abbiamo utilizzato la HashMap
classe per implementare l' Map
interfaccia.
Qui,
- Chiave: un identificatore univoco utilizzato per associare ogni elemento (valore) in una mappa
- Valore: elementi associati da chiavi in una mappa
Metodi di mappa
L' Map
interfaccia include tutti i metodi Collection
dell'interfaccia. È perché Collection
è una super interfaccia di Map
.
Oltre ai metodi disponibili Collection
nell'interfaccia, l' Map
interfaccia include anche i seguenti metodi:
- put (K, V) - Inserisce l'associazione di una chiave K e un valore V nella mappa. Se la chiave è già presente, il nuovo valore sostituisce il vecchio valore.
- putAll () - Inserisce tutte le voci dalla mappa specificata a questa mappa.
- putIfAbsent (K, V) - Inserisce l'associazione se la chiave K non è già associata al valore V.
- get (K) - Restituisce il valore associato alla chiave specificata K. Se la chiave non viene trovata, restituisce
null
. - getOrDefault (K, defaultValue) - Restituisce il valore associato alla chiave specificata K. Se la chiave non viene trovata, restituisce defaultValue.
- contieneKey (K) - Controlla se la chiave K specificata è presente nella mappa o meno.
- contieneValore (V) - Controlla se il valore V specificato è presente nella mappa o meno.
- sostituire (K, V) : sostituire il valore della chiave K con il nuovo valore specificato V.
- sostituire (K, oldValue, newValue) - Sostituisce il valore della chiave K con il nuovo valore newValue solo se la chiave K è associata al valore oldValue.
- remove (K) - Rimuove dalla mappa la voce rappresentata dalla chiave K.
- remove (K, V) - Rimuove la voce dalla mappa che ha la chiave K associata al valore V.
- keySet () - Restituisce un insieme di tutte le chiavi presenti in una mappa.
- values () - Restituisce un insieme di tutti i valori presenti in una mappa.
- entrySet () - Restituisce un insieme di tutte le mappature chiave / valore presenti in una mappa.
Implementazione dell'interfaccia della mappa
1. Implementazione della classe 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); ) )
Produzione
Mappa: (Uno = 1, Due = 2) Chiavi: (Uno, Due) Valori: (1, 2) Voci: (Uno = 1, Due = 2) Valore rimosso: 2
Per saperne di più HashMap
, visita Java HashMap.
2. Implementazione della classe 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); ) )
Produzione
Mappa utilizzando TreeMap: (Primo = 1, Secondo = 2) Nuova mappa: (Primo = 11, Secondo = 22) Valore rimosso: 11
Per saperne di più TreeMap
, visita Java TreeMap.