HashMap è una parte della raccolta Java che fornisce l'implementazione di base dell'interfaccia Map di Java memorizzando i dati in coppie (Chiave, Valore) per accedervi tramite un indice di altro tipo. Un oggetto viene elencato come chiave (indice) per un altro oggetto (valore). Se provi a inserire la chiave duplicata, sostituirà l'elemento della chiave corrispondente. Per utilizzare questa classe e i suoi metodi è necessario importare java.util.HashMap pacchetto o la sua superclasse.
Esistono numerosi modi per eseguire l'iterazione su HashMap, di cui 5 sono elencati di seguito:
- Iterare attraverso una HashMap Set di immissione utilizzando gli iteratori.
- Scorrere attraverso HashMap Mazzo di chiavi utilizzando Iteratore.
- Itera HashMap utilizzando per ogni ciclo .
- Iterazione attraverso una HashMap utilizzando le espressioni Lambda.
- Passa attraverso una HashMap utilizzando API di flusso .
Metodo 1: utilizzo di un ciclo for per scorrere una HashMap. Iterazione di una HashMap attraverso un ciclo for da utilizzare getValore() E getKey() funzioni.
Implementazione: Nel codice riportato di seguito, set di voci() viene utilizzato per restituire una vista impostata degli elementi mappati. Dal codice riportato di seguito:
- set.getValue() per ottenere valore dal set.
- set.getKey() per ottenere la chiave dal set.
Giava
cache npm pulita
// Java Program to Iterate over HashMap> // Importing Map and HashMap classes> // from package names java.util> import> java.util.HashMap;> import> java.util.Map;> // Class for iterating HashMap using for loop> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating a HashMap> >Map foodTable> >=>new> HashMap();> >// Inserting elements to the adobe HashMap> >// Elements- Key value pairs using put() method> >foodTable.put(>'A'>,>'Angular'>);> >foodTable.put(>'J'>,>'Java'>);> >foodTable.put(>'P'>,>'Python'>);> >foodTable.put(>'H'>,>'Hibernate'>);> >// Iterating HashMap through for loop> >for> (Map.Entry set :> >foodTable.entrySet()) {> >// Printing all elements of a Map> >System.out.println(set.getKey() +>' = '> >+ set.getValue());> >}> >}> }> |
>
>Produzione
P = Python A = Angular H = Hibernate J = Java>
Metodo 2: utilizzo di forEach per scorrere una HashMap. Nel secondo metodo, la funzione forEach per ripetere le coppie chiave-valore.
Giava
// Java Program to Iterate over HashMap> // Iterating HashMap using forEach> // Importing Map and HashMap classes> // from package names java.util> import> java.util.HashMap;> import> java.util.Map;> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating hash map> >Map charType> >=>new> HashMap();> >// Inserting data in the hash map.> >charType.put(>'J'>,>'Java'>);> >charType.put(>'H'>,>'Hibernate'>);> >charType.put(>'P'>,>'Python'>);> >charType.put(>'A'>,>'Angular'>);> >// Iterating HashMap through forEach and> >// Printing all. elements in a Map> >charType.forEach(> >(key, value)> >->System.out.println(tasto +>' = '> + value));> >}> }> |
>
>Produzione
P = Python A = Angular H = Hibernate J = Java>
Metodo 3: utilizzo di un iteratore per scorrere una HashMap. In questo metodo, l'iteratore viene utilizzato per ripetere ciascuna coppia mappata in HashMap come mostrato nel programma Java di seguito.
Esempio:
Giava
1 di 1000
// Java Program to Iterate over HashMap> // Using Iterator> // Importing classes from java.util package> import> java.util.HashMap;> import> java.util.Iterator;> import> java.util.Map;> import> java.util.Map.Entry;> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] arguments)> >{> >// Creating Hash map> >Map intType> >=>new> HashMap();> >// Inserting data(Key-value pairs) in hashmap> >intType.put(>1>,>'First'>);> >intType.put(>2>,>'Second'>);> >intType.put(>3>,>'Third'>);> >intType.put(>4>,>'Fourth'>);> >// Iterator> >Iterator new_Iterator> >= intType.entrySet().iterator();> >// Iterating every set of entry in the HashMap> >while> (new_Iterator.hasNext()) {> >Map.Entry new_Map> >= (Map.Entry)> >new_Iterator.next();> >// Displaying HashMap> >System.out.println(new_Map.getKey() +>' = '> >+ new_Map.getValue());> >}> >}> }> |
>
>
1 = First 2 = Second 3 = Third 4 = Fourth>
Metodo 4: Iterazione attraverso una HashMap utilizzando le espressioni Lambda
Un'espressione lambda è un breve blocco di codice che accetta parametri e restituisce un valore. Le espressioni lambda sono simili ai metodi, ma non necessitano di un nome e possono essere implementate direttamente nel corpo di un metodo. L'espressione lambda più semplice contiene un singolo parametro e un'espressione:
parameter ->espressione>
Esempio:
Giava
// Iterating HashMap using Lambda Expressions- forEach()> // Importing Map and HashMap classes> // from java.util package> import> java.util.HashMap;> import> java.util.Map;> // Class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating hash map> >Map charType> >=>new> HashMap();> >// Inserting elements(key-value pairs)> >// in the hash map ( Custom inputs)> >charType.put(>'A'>,>'Apple'>);> >charType.put(>'B'>,>'Basketball'>);> >charType.put(>'C'>,>'Cat'>);> >charType.put(>'D'>,>'Dog'>);> >// Iterating through forEach and> >// printing the elements> >charType.forEach(> >(key, value)> >->System.out.println(tasto +>' = '> + value));> >}> }> |
>
>
matematica Java sqrtProduzione
A = Apple B = Basketball C = Cat D = Dog>
Metodo 5: Passa attraverso una HashMap utilizzando l'API Stream
L'esempio seguente esegue l'iterazione su una HashMap con l'aiuto dell'API stream.
L'API Stream viene utilizzata per elaborare raccolte di oggetti.
I flussi non modificano la struttura dei dati originale, forniscono solo il risultato secondo i metodi in pipeline
Passaggi:
- Prima invoca entrySet().stream() metodo che a sua volta restituisce l'oggetto Stream.
- Prossimo forEach metodo , che esegue l'iterazione degli oggetti di input presenti in entrySet(). Vedi il codice seguente.
Esempio:
Giava
// Java Program to Iterate over HashMap> // Loop through a HashMap using Stream API> // Importing classes from> // package named 'java.util'> import> java.util.HashMap;> import> java.util.Iterator;> import> java.util.Map;> import> java.util.Map.Entry;> // HashMap class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] arguments)> >{> >// Creating hash map> >Map intType> >=>new> HashMap();> >// Inserting data(key-value pairs) in HashMap> >// Custom inputs> >intType.put(>1>,>'First'>);> >intType.put(>2>,>'Second'>);> >intType.put(>3>,>'Third'>);> >intType.put(>4>,>'Fourth'>);> >// Iterating every set of entry in the HashMap, and> >// printing all elements of it> >intType.entrySet().stream().forEach(> >input> >->System.out.println(input.getKey() +>' : '> >+ input.getValue()));> >}> }> |
regex Java
>
>Produzione
1 : First 2 : Second 3 : Third 4 : Fourth>