logo

Cum se repetă HashMap în Java?

HashMap este o parte a colecției Java care oferă implementarea de bază a interfeței Map a Java prin stocarea datelor în perechi (Cheie, Valoare) pentru a le accesa printr-un index de alt tip. Un obiect este listat ca o cheie (index) pentru un alt obiect (valoare). Dacă încercați să introduceți cheia duplicată, aceasta va înlocui elementul cheii corespunzătoare. Pentru a utiliza această clasă și metodele sale, este necesar să importați java.util.HashMap pachet sau superclasa acestuia.

Există un număr mare de moduri de a itera peste HashMap, dintre care 5 sunt enumerate mai jos:

  1. Iterați printr-o hartă Hash EntrySet folosind iteratoare.
  2. Iterați prin HashMap KeySet folosind Iterator.
  3. Repetați HashMap folosind pentru-fiecare buclă .
  4. Iterarea printr-un HashMap folosind expresii Lambda.
  5. Buclă printr-un HashMap folosind API Stream .

Metoda 1: Folosind o buclă for pentru a itera printr-un HashMap. Repetarea unui HashMap printr-o buclă for de utilizat getValue() și getKey() funcții.



Implementare: În codul de mai jos, entrySet() este folosit pentru a returna o vedere setată a elementelor mapate. Din codul dat mai jos:

  • set.getValue() pentru a obține valoare din set.
  • set.getKey() pentru a obține cheia din set.

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

>

>

Ieșire

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

Metoda 2: Folosind un forEach pentru a itera printr-un HashMap. În a doua metodă, funcția forEach pentru a repeta perechile cheie-valoare.

Java


setările browserului de internet



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

>

>

Ieșire

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

Metoda 3: Utilizarea unui iterator pentru a itera printr-un HashMap. În această metodă, iteratorul este utilizat pentru a repeta fiecare pereche mapată în HashMap, așa cum se arată în programul java de mai jos.

Exemplu:

cartografiere dactilografiată

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

>

>


Ieșire

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

Metoda 4: Repetarea unui HashMap folosind expresii Lambda

O expresie lambda este un bloc scurt de cod care preia parametrii și returnează o valoare. Expresiile Lambda sunt similare cu metodele, dar nu au nevoie de un nume și pot fi implementate chiar în corpul unei metode. Cea mai simplă expresie lambda conține un singur parametru și o expresie:

parameter ->expresie>

Exemplu:

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

>

>

algoritm de sortare heap
Ieșire

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

Metoda 5: Buclă printr-un HashMap folosind Stream API

Exemplul de mai jos iterează peste un HashMap cu ajutorul API-ului de flux.

Stream API este folosit pentru a procesa colecții de obiecte.

Fluxurile nu modifică structura originală a datelor, ele oferă doar rezultatul conform metodelor pipeline

Pași:

  • Prima invocare entrySet().stream() metoda care la rândul său returnează obiectul Stream.
  • Următorul pentru fiecare metodă , care repetă obiectele de intrare care se află în entrySet(). Vezi codul de mai jos.

Exemplu:

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

>

>

Ieșire

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