logo

Interfaccia della mappa Java

Una mappa contiene valori sulla base della chiave, ovvero della coppia chiave-valore. Ogni coppia chiave-valore è nota come voce. Una mappa contiene chiavi univoche.

Una Mappa è utile se devi cercare, aggiornare o cancellare elementi in base ad una chiave.

Gerarchia della mappa Java

Esistono due interfacce per l'implementazione di Map in Java: Map e SortedMap e tre classi: HashMap, LinkedHashMap e TreeMap. La gerarchia di Java Map è riportata di seguito:

Gerarchia della mappa Java

Una mappa non consente chiavi duplicate, ma puoi avere valori duplicati. HashMap e LinkedHashMap consentono chiavi e valori null, ma TreeMap non consente chiavi o valori null.

Una mappa non può essere attraversata, quindi è necessario convertirla in Set utilizzando mazzo di chiavi() O set di voci() metodo.

ClasseDescrizione
HashMap HashMap è l'implementazione di Map, ma non mantiene alcun ordine.
LinkedHashMapLinkedHashMap è l'implementazione di Map. Eredita la classe HashMap. Mantiene l'ordine di inserimento.
Mappa ad albero TreeMap è l'implementazione di Map e SortedMap. Mantiene l'ordine crescente.

Metodi utili dell'interfaccia della mappa

MetodoDescrizione
V put(Chiave oggetto, Valore oggetto)Serve per inserire una voce nella mappa.
void putAll(Mappa mappa)Viene utilizzato per inserire la mappa specificata nella mappa.
V putIfAbsent(chiave K, valore V)Inserisce il valore specificato con la chiave specificata nella mappa solo se non è già specificato.
V rimuovi (chiave oggetto)Viene utilizzato per eliminare una voce per la chiave specificata.
rimozione booleana (chiave oggetto, valore oggetto)Rimuove i valori specificati con le chiavi specificate associate dalla mappa.
Imposta keySet()Restituisce la vista Set contenente tutte le chiavi.
Impostatoset di voci()Restituisce la vista Set contenente tutte le chiavi e i valori.
vuoto chiaro()Viene utilizzato per ripristinare la mappa.
Calcolo V (tasto K, funzione di rimappatura BiFunzione)Viene utilizzato per calcolare una mappatura per la chiave specificata e il suo valore mappato corrente (o null se non esiste una mappatura corrente).
V computeIfAbsent(tasto K, mappatura funzioniFunzione)Viene utilizzato per calcolare il suo valore utilizzando la funzione di mappatura specificata, se la chiave specificata non è già associata a un valore (o è mappata su null) e la inserisce in questa mappa a meno che non sia null.
V computeIfPresent(tasto K, funzione di rimappatura BiFunzione)Viene utilizzato per calcolare una nuova mappatura data la chiave e il suo valore mappato corrente se il valore per la chiave specificata è presente e non nullo.
booleano contieneValore(Valore oggetto)Questo metodo restituisce true se esiste un valore uguale al valore all'interno della mappa, altrimenti restituisce false.
booleano contieneKey(Chiave oggetto)Questo metodo restituisce true se esiste una chiave uguale alla chiave all'interno della mappa, altrimenti restituisce false.
booleano uguale(Oggetto o)Viene utilizzato per confrontare l'Oggetto specificato con la Mappa.
void forEach(azione BiConsumer)Esegue l'azione specificata per ogni voce nella mappa finché tutte le voci non sono state elaborate o l'azione genera un'eccezione.
V get(Chiave oggetto)Questo metodo restituisce l'oggetto che contiene il valore associato alla chiave.
V getOrDefault(Chiave oggetto, V defaultValue)Restituisce il valore a cui è mappata la chiave specificata oppure defaultValue se la mappa non contiene alcuna mappatura per la chiave.
int hashCode()Restituisce il valore del codice hash per la mappa
booleano è vuoto()Questo metodo restituisce true se la mappa è vuota; restituisce false se contiene almeno una chiave.
Unione V (chiave K, valore V, funzione di rimappatura BiFunzione)Se la chiave specificata non è già associata a un valore o è associata a null, la associa al valore non null specificato.
Sostituzione V (chiave K, valore V)Sostituisce il valore specificato per una chiave specificata.
sostituzione booleana (chiave K, V vecchioValore, V nuovoValore)Sostituisce il vecchio valore con il nuovo valore per una chiave specificata.
void replaceAll (funzione BiFunction)Sostituisce il valore di ciascuna voce con il risultato dell'invocazione della funzione specificata su quella voce fino a quando tutte le voci non sono state elaborate o la funzione genera un'eccezione.
Valori della raccolta()Restituisce una vista di raccolta dei valori contenuti nella mappa.
dimensione intera()Questo metodo restituisce il numero di voci nella mappa.

Interfaccia Map.Entry

Entry è la sottointerfaccia di Map. Quindi potremo accedervi tramite il nome Map.Entry. Restituisce una vista di raccolta della mappa, i cui elementi appartengono a questa classe. Fornisce metodi per ottenere chiave e valore.

Metodi dell'interfaccia Map.Entry

MetodoDescrizione
K getKey()Viene utilizzato per ottenere una chiave.
V getValore()Viene utilizzato per ottenere valore.
int hashCode()Viene utilizzato per ottenere hashCode.
V setValue(valore V)Viene utilizzato per sostituire il valore corrispondente a questa voce con il valore specificato.
booleano uguale(Oggetto o)Viene utilizzato per confrontare l'oggetto specificato con gli altri oggetti esistenti.
staticoComparatoreconfrontandoPerChiave()Restituisce un comparatore che confronta gli oggetti in ordine naturale in base alla chiave.
Comparatore staticoconfrontoPerChiave(Comparatore cmp)Restituisce un comparatore che confronta gli oggetti per chiave utilizzando il comparatore specificato.
staticoComparatoreconfrontandoPerValore()Restituisce un comparatore che confronta gli oggetti in ordine naturale in base al valore.
Comparatore staticoconfrontoPerValore(Comparatore cmp)Restituisce un comparatore che confronta gli oggetti in base al valore utilizzando il comparatore specificato.

Esempio di mappa Java: non generica (vecchio stile)

 //Non-generic import java.util.*; public class MapExample1 { public static void main(String[] args) { Map map=new HashMap(); //Adding elements to map map.put(1,'Amit'); map.put(5,'Rahul'); map.put(2,'Jai'); map.put(6,'Amit'); //Traversing Map Set set=map.entrySet();//Converting to Set so that we can traverse Iterator itr=set.iterator(); while(itr.hasNext()){ //Converting to Map.Entry so that we can get key and value separately Map.Entry entry=(Map.Entry)itr.next(); System.out.println(entry.getKey()+' '+entry.getValue()); } } } 

Produzione:

qual è il caso in sql
 1 Amit 2 Jai 5 Rahul 6 Amit 

Esempio di mappa Java: generica (nuovo stile)

 import java.util.*; class MapExample2{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Elements can traverse in any order for(Map.Entry m:map.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } } 

Produzione:

 102 Rahul 100 Amit 101 Vijay 

Esempio di mappa Java: confronto per chiave()

 import java.util.*; class MapExample3{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByKey()) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Produzione:

 100=Amit 101=Vijay 102=Rahul 

Esempio di mappa Java: confronto con ByKey() in ordine decrescente

 import java.util.*; class MapExample4{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByKey(Comparator.reverseOrder())) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Produzione:

 102=Rahul 101=Vijay 100=Amit 

Esempio di mappa Java: confrontoPerValore()

 import java.util.*; class MapExample5{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByValue()) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Produzione:

 100=Amit 102=Rahul 101=Vijay 

Esempio di mappa Java: compareByValue() in ordine decrescente

 import java.util.*; class MapExample6{ public static void main(String args[]){ Map map=new HashMap(); map.put(100,'Amit'); map.put(101,'Vijay'); map.put(102,'Rahul'); //Returns a Set view of the mappings contained in this map map.entrySet() //Returns a sequential Stream with this collection as its source .stream() //Sorted according to the provided Comparator .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) //Performs an action for each element of this stream .forEach(System.out::println); } } 

Produzione:

 101=Vijay 102=Rahul 100=Amit