HashMap je del zbirke Jave, ki zagotavlja osnovno izvedbo vmesnika Map Java s shranjevanjem podatkov v parih (ključ, vrednost) za dostop do njih z indeksom druge vrste. En predmet je naveden kot ključ (indeks) drugega predmeta (vrednost). Če poskusite vstaviti dvojnik ključa, bo zamenjal element ustreznega ključa. Za uporabo tega razreda in njegovih metod je potreben uvoz java.util.HashMap paket ali njegov nadrazred.
Obstaja veliko število načinov za ponavljanje HashMapa, od katerih jih je 5 navedenih spodaj:
- Ponovi skozi HashMap EntrySet z uporabo iteratorjev.
- Iteracija skozi HashMap KeySet z uporabo Iteratorja.
- Ponovi HashMap z uporabo za vsako zanko .
- Ponavljanje skozi HashMap z uporabo lambda izrazov.
- Preglejte HashMap z uporabo Stream API .
1. način: uporaba zanke for za ponavljanje skozi HashMap. Ponavljanje HashMap skozi zanko for za uporabo getValue() in getKey() funkcije.
Izvedba: V spodnji kodi je vnosSet() se uporablja za vrnitev nastavljenega pogleda preslikanih elementov. Iz spodnje kode:
- set.getValue() za pridobitev vrednosti iz niza.
- set.getKey() za pridobitev ključa iz niza.
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());> >}> >}> }> |
>
>Izhod
P = Python A = Angular H = Hibernate J = Java>
2. način: uporaba forEach za ponavljanje skozi HashMap. V drugi metodi funkcija forEach za ponavljanje parov ključ-vrednost.
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(tipka +>' = '> + value));> >}> }> |
>
>
mylivericketIzhod
P = Python A = Angular H = Hibernate J = Java>
3. način: uporaba iteratorja za ponavljanje skozi HashMap. Pri tej metodi se iterator uporablja za ponavljanje vsakega preslikanega para v HashMap, kot je prikazano v spodnjem programu Java.
primer:
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());> >}> >}> }> |
>
>
1 = First 2 = Second 3 = Third 4 = Fourth>
4. način: ponavljanje skozi HashMap z uporabo lambda izrazov
Lambda izraz je kratek blok kode, ki sprejme parametre in vrne vrednost. Lambda izrazi so podobni metodam, vendar ne potrebujejo imena in jih je mogoče implementirati neposredno v telo metode. Najenostavnejši lambda izraz vsebuje en parameter in izraz:
parameter ->izraz>
primer:
Java
10 od 100,00
// 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(tipka +>' = '> + value));> >}> }> |
>
>Izhod
A = Apple B = Basketball C = Cat D = Dog>
5. način: Preglejte HashMap z uporabo Stream API-ja
Spodnji primer ponavlja HashMap s pomočjo API-ja toka.
Stream API se uporablja za obdelavo zbirk predmetov.
Tokovi ne spremenijo izvorne podatkovne strukture, zagotavljajo le rezultat v skladu s cevovodnimi metodami
koraki:
- Prvi poziv entrySet().stream() metoda, ki vrne objekt Stream.
- Naslednji za vsako metodo , ki ponavlja vhodne objekte, ki so v entrySet(). Oglejte si spodnjo kodo.
primer:
Java
// 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()));> >}> }> |
>
>Izhod
1 : First 2 : Second 3 : Third 4 : Fourth>