Interfaccia Java Map

In questo tutorial impareremo a conoscere l'interfaccia Java Map e i suoi metodi.

L' Mapinterfaccia del framework delle collezioni Java fornisce la funzionalità della struttura dei dati della mappa.

Lavorazione della mappa

In Java, gli elementi di Mapvengono 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' Mapinterfaccia 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à Mapdell'interfaccia, possiamo utilizzare queste classi:

  • HashMap
  • EnumMap
  • LinkedHashMap
  • WeakHashMap
  • TreeMap

Queste classi sono definite nel framework delle collezioni e implementano l' Mapinterfaccia.

Sottoclassi di Java Map

Interfacce che estendono Map

L' Mapinterfaccia è estesa anche da queste sottointerfacce:

  • SortedMap
  • NavigableMap
  • ConcurrentMap
Interfacce Java Map

Come si usa la mappa?

In Java, dobbiamo importare il java.util.Mappacchetto 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 Mapnumero con nome. Abbiamo utilizzato la HashMapclasse per implementare l' Mapinterfaccia.

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' Mapinterfaccia include tutti i metodi Collectiondell'interfaccia. È perché Collectionè una super interfaccia di Map.

Oltre ai metodi disponibili Collectionnell'interfaccia, l' Mapinterfaccia 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.

Articoli interessanti...