logo

Hoe HashMap in Java te herhalen?

HashMap maakt deel uit van de Java-collectie en biedt de basisimplementatie van de kaartinterface van Java door de gegevens op te slaan in (sleutel-, waarde-)paren zodat ze toegankelijk zijn via een index van een ander type. Eén object wordt vermeld als sleutel (index) voor een ander object (waarde). Als u de duplicaatsleutel probeert in te voegen, vervangt deze het element van de overeenkomstige sleutel. Om deze klasse en zijn methoden te kunnen gebruiken, is het noodzakelijk om te importeren java.util.HashMap pakket of zijn superklasse.

Er is een groot aantal manieren om HashMap te herhalen, waarvan er 5 hieronder worden vermeld:

  1. Herhaal een HashMap InvoerSet met behulp van iteratoren.
  2. Herhaal HashMap Sleutelbos met behulp van Iterator.
  3. Herhaal HashMap met behulp van voor elke lus .
  4. Itereren door een HashMap met behulp van Lambda-expressies.
  5. Loop door een HashMap met behulp van Stream-API .

Methode 1: Een for-lus gebruiken om door een HashMap te itereren. Een HashMap herhalen via een for-lus om te gebruiken getWaarde() En getKey() functies.



Implementatie: In de onderstaande code, entrySet() wordt gebruikt om een ​​vaste weergave van in kaart gebrachte elementen terug te geven. Uit de onderstaande code:

  • set.getValue() om waarde uit de set te halen.
  • set.getKey() om de sleutel uit de set te halen.

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

>

>

algoritme van binair zoeken
Uitvoer

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

Methode 2: Een forEach gebruiken om een ​​HashMap te doorlopen. Bij de tweede methode wordt de functie forEach gebruikt om de sleutelwaardeparen te herhalen.

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

>

>

Uitvoer

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

Methode 3: Een iterator gebruiken om door een HashMap te itereren. Bij deze methode wordt iterator gebruikt om elk toegewezen paar in HashMap te herhalen, zoals weergegeven in het onderstaande Java-programma.

ymail

Voorbeeld:

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

>

lijst maken in Java
>


Uitvoer

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

Methode 4: Een HashMap doorlopen met behulp van Lambda-expressies

Een lambda-expressie is een kort codeblok dat parameters inneemt en een waarde retourneert. Lambda-expressies lijken op methoden, maar hebben geen naam nodig en kunnen rechtstreeks in de hoofdtekst van een methode worden geïmplementeerd. De eenvoudigste lambda-expressie bevat een enkele parameter en een expressie:

parameter ->expressie>

Voorbeeld:

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

>

>

Uitvoer

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

Methode 5: Loop door een HashMap met behulp van Stream API

Linux-opdracht voor zip

Het onderstaande voorbeeld herhaalt een HashMap met behulp van de stream-API.

Stream API wordt gebruikt om verzamelingen objecten te verwerken.

Streams veranderen de oorspronkelijke datastructuur niet, ze leveren alleen het resultaat volgens de pijplijnmethoden

Stappen:

  • Eerst aanroepen entrySet().stream() methode die op zijn beurt het Stream-object retourneert.
  • Volgende voor elke methode , waarmee de invoerobjecten in entrySet() worden herhaald. Zie de onderstaande code.

Voorbeeld:

Java


stapel in ds



// 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> >->Systeem.out.println(input.getKey() +>' : '> >+ input.getValue()));> >}> }>

>

>

Uitvoer

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