logo

Wie iteriere ich HashMap in Java?

HashMap ist Teil der Java-Sammlung und stellt die grundlegende Implementierung der Map-Schnittstelle von Java bereit, indem die Daten in (Schlüssel-, Wert-)Paaren gespeichert werden, um über einen Index eines anderen Typs auf sie zuzugreifen. Ein Objekt wird als Schlüssel (Index) für ein anderes Objekt (Wert) aufgeführt. Wenn Sie versuchen, den Duplikatschlüssel einzufügen, ersetzt dieser das Element des entsprechenden Schlüssels. Um diese Klasse und ihre Methoden nutzen zu können, ist ein Import erforderlich java.util.HashMap Paket oder seine Superklasse.

Es gibt zahlreiche Möglichkeiten, über HashMap zu iterieren, von denen 5 unten aufgeführt sind:

  1. Durchlaufen Sie eine HashMap EntrySet Verwendung von Iteratoren.
  2. Durchlaufen Sie HashMap Schlüsselsatz mit Iterator.
  3. Iterieren Sie HashMap mit for-each-Schleife .
  4. Durchlaufen einer HashMap mithilfe von Lambda-Ausdrücken.
  5. Durchlaufen Sie eine HashMap mit Stream-API .

Methode 1: Verwenden einer for-Schleife zum Durchlaufen einer HashMap. Iterieren einer zu verwendenden HashMap durch eine for-Schleife Wert erhalten() Und getKey() Funktionen.



Implementierung: Im unten angegebenen Code EintragSet() wird verwendet, um eine festgelegte Ansicht der zugeordneten Elemente zurückzugeben. Aus dem unten angegebenen Code:

  • set.getValue(), um einen Wert aus der Menge abzurufen.
  • set.getKey(), um den Schlüssel aus dem Set abzurufen.

Java




// 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());> >}> >}> }>

Java-String-Format
>

>

Ausgabe

P = Python A = Angular H = Hibernate J = Java>

Methode 2: Verwenden von forEach zum Durchlaufen einer HashMap. Bei der zweiten Methode iteriert die Funktion forEach die Schlüssel-Wert-Paare.

Java




// 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(key +>' = '> + value));> >}> }>

>

Länge eines Strings in Java
>

Ausgabe

P = Python A = Angular H = Hibernate J = Java>

Methode 3: Verwenden eines Iterators zum Durchlaufen einer HashMap. Bei dieser Methode wird ein Iterator verwendet, um jedes zugeordnete Paar in HashMap zu iterieren, wie im folgenden Java-Programm gezeigt.

Beispiel:

Java




// 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());> >}> >}> }>

>

Was ist Hashset Java?
>


Ausgabe

1 = First 2 = Second 3 = Third 4 = Fourth>

Methode 4: Durchlaufen einer HashMap mithilfe von Lambda-Ausdrücken

Ein Lambda-Ausdruck ist ein kurzer Codeblock, der Parameter aufnimmt und einen Wert zurückgibt. Lambda-Ausdrücke ähneln Methoden, benötigen jedoch keinen Namen und können direkt im Hauptteil einer Methode implementiert werden. Der einfachste Lambda-Ausdruck enthält einen einzelnen Parameter und einen Ausdruck:

parameter ->Ausdruck>

Beispiel:

Java




// 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(key +>' = '> + value));> >}> }>

>

>

Ausgabe

A = Apple B = Basketball C = Cat D = Dog>

Methode 5: Durchlaufen Sie eine HashMap mithilfe der Stream-API

Netzwerktopologien

Das folgende Beispiel iteriert mithilfe der Stream-API über eine HashMap.

Die Stream-API wird zum Verarbeiten von Objektsammlungen verwendet.

Streams verändern die ursprüngliche Datenstruktur nicht, sie liefern nur das Ergebnis gemäß den Pipeline-Methoden

Schritte :

  • Erster Aufruf EntrySet().stream() Methode, die wiederum ein Stream-Objekt zurückgibt.
  • Nächste forEach-Methode , das die Eingabeobjekte iteriert, die sich im EntrySet() befinden. Siehe den folgenden Code.

Beispiel:

Java


String vergleichen c#



// 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()));> >}> }>

>

>

Ausgabe

1 : First 2 : Second 3 : Third 4 : Fourth>