HashMap er en del av Javas samling som gir den grunnleggende implementeringen av kartgrensesnittet til Java ved å lagre dataene i (nøkkel, verdi) par for å få tilgang til dem med en indeks av en annen type. Ett objekt er oppført som en nøkkel (indeks) til et annet objekt (verdi). Hvis du prøver å sette inn duplikatnøkkelen, vil den erstatte elementet til den tilsvarende nøkkelen. For å bruke denne klassen og dens metoder, er det nødvendig å importere java.util.HashMap pakken eller dens superklasse.
Det er en rekke måter å iterere over HashMap, hvorav 5 er oppført som nedenfor:
- Iterer gjennom et HashMap EntrySet ved hjelp av iteratorer.
- Iterer gjennom HashMap KeySet ved hjelp av Iterator.
- Iterer HashMap ved å bruke for hver løkke .
- Iterering gjennom et HashMap ved hjelp av Lambda Expressions.
- Gå gjennom et HashMap ved å bruke Stream API .
Metode 1: Bruk en for-løkke for å iterere gjennom et HashMap. Iterering av et HashMap gjennom en for-løkke for å bruke getValue() og getKey() funksjoner.
Gjennomføring: I koden gitt nedenfor, entrySet() brukes til å returnere et sett visning av kartlagte elementer. Fra koden gitt nedenfor:
- set.getValue() for å få verdi fra settet.
- set.getKey() for å hente nøkkel fra settet.
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());> >}> >}> }> |
>
>
gjenta en liste i javaProduksjon
P = Python A = Angular H = Hibernate J = Java>
Metode 2: Bruk en forEach til å iterere gjennom et HashMap. I den andre metoden, funksjonen forHver for å iterere nøkkel-verdi-parene.
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(tast +>' = '> + value));> >}> }> |
samling java
>
>Produksjon
P = Python A = Angular H = Hibernate J = Java>
Metode 3: Bruke en iterator for å iterere gjennom et HashMap. I denne metoden brukes iterator til å iterere hvert kartlagt par i HashMap som vist i Java-programmet nedenfor.
Eksempel:
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());> >}> >}> }> |
>
supw
>
1 = First 2 = Second 3 = Third 4 = Fourth>
Metode 4: Iterering gjennom et HashMap ved hjelp av Lambda-uttrykk
Et lambda-uttrykk er en kort kodeblokk som tar inn parametere og returnerer en verdi. Lambda-uttrykk ligner på metoder, men de trenger ikke et navn, og de kan implementeres rett i kroppen til en metode. Det enkleste lambda-uttrykket inneholder en enkelt parameter og et uttrykk:
parameter ->uttrykk>
Eksempel:
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(tast +>' = '> + value));> >}> }> |
>
>Produksjon
A = Apple B = Basketball C = Cat D = Dog>
Metode 5: Gå gjennom en HashMap ved hjelp av Stream API
sortere haug
Eksemplet nedenfor itererer over et HashMap ved hjelp av stream API.
Stream API brukes til å behandle samlinger av objekter.
Strømmer endrer ikke den opprinnelige datastrukturen, de gir bare resultatet i henhold til pipelinemetodene
Trinn :
- Første påkalling entrySet().stream() metode som inturn returnerer Stream-objekt.
- Neste for hver metode , som itererer inndataobjektene som er i entrySet(). Se koden nedenfor.
Eksempel:
Java
stabel i 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> >->System.out.println(input.getKey() +>' : '> >+ input.getValue()));> >}> }> |
>
>Produksjon
1 : First 2 : Second 3 : Third 4 : Fourth>