logo

Come iterare HashMap in Java?

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:

  1. Iterare attraverso una HashMap Set di immissione utilizzando gli iteratori.
  2. Scorrere attraverso HashMap Mazzo di chiavi utilizzando Iteratore.
  3. Itera HashMap utilizzando per ogni ciclo .
  4. Iterazione attraverso una HashMap utilizzando le espressioni Lambda.
  5. 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());> >}> >}> }>

>

>


Produzione

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 sqrt
Produzione

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>