HashMap jest częścią kolekcji Java zapewniającą podstawową implementację interfejsu Map w Javie poprzez przechowywanie danych w parach (Klucz, Wartość), aby uzyskać do nich dostęp za pomocą indeksu innego typu. Jeden obiekt jest wymieniony jako klucz (indeks) do innego obiektu (wartości). Jeśli spróbujesz wstawić zduplikowany klucz, zastąpi on element odpowiedniego klucza. Aby móc korzystać z tej klasy i jej metod, należy dokonać importu java.util.HashMap pakiet lub jego nadklasa.
Istnieje wiele sposobów iteracji po HashMap, z których 5 przedstawiono poniżej:
wyczyść pamięć podręczną npm
- Iteruj po HashMap Zestaw wpisów za pomocą Iteratorów.
- Iteruj przez HashMap Zestaw kluczy za pomocą Iteratora.
- Iteruj HashMap za pomocą dla każdej pętli .
- Iteracja po HashMap przy użyciu wyrażeń Lambda.
- Wykonaj pętlę przez HashMap za pomocą Strumieniowe API .
Metoda 1: Użycie pętli for do iteracji po HashMap. Iterowanie HashMap przez pętlę for do użycia getValue() I Weź klucz() Funkcje.
Realizacja: W kodzie podanym poniżej zestaw wpisów() służy do zwracania ustawionego widoku mapowanych elementów. Z kodu podanego poniżej:
- set.getValue(), aby pobrać wartość ze zbioru.
- set.getKey() aby pobrać klucz z zestawu.
Jawa
// 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());> >}> >}> }> |
>
>Wyjście
P = Python A = Angular H = Hibernate J = Java>
Metoda 2: Używanie forEach do iteracji po HashMap. W drugiej metodzie funkcja forEach służąca do iteracji par klucz-wartość.
Jawa
// 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(klawisz +>' = '> + value));> >}> }> |
>
>Wyjście
P = Python A = Angular H = Hibernate J = Java>
Metoda 3: Używanie iteratora do iteracji po HashMap. W tej metodzie iterator jest używany do iteracji każdej zmapowanej pary w HashMap, jak pokazano w poniższym programie Java.
Przykład:
Jawa
// 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());> >}> >}> }> |
10 ml to ile
>
>
1 = First 2 = Second 3 = Third 4 = Fourth>
Metoda 4: Iteracja po HashMap przy użyciu wyrażeń Lambda
Wyrażenie lambda to krótki blok kodu, który pobiera parametry i zwraca wartość. Wyrażenia lambda są podobne do metod, ale nie wymagają nazwy i można je zaimplementować bezpośrednio w treści metody. Najprostsze wyrażenie lambda zawiera pojedynczy parametr i wyrażenie:
parameter ->wyrażenie>
Przykład:
Jawa
// 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(klawisz +>' = '> + value));> >}> }> |
>
>Wyjście
A = Apple B = Basketball C = Cat D = Dog>
Metoda 5: Wykonaj pętlę przez HashMap przy użyciu Stream API
Poniższy przykład iteruje po HashMap za pomocą interfejsu API strumienia.
Stream API służy do przetwarzania kolekcji obiektów.
struktura w strukturze danych
Strumienie nie zmieniają oryginalnej struktury danych, dostarczają jedynie wynik zgodnie z metodami potokowymi
Kroki :
- Najpierw wywołaj EntrySet().stream() metoda, która z kolei zwraca obiekt Stream.
- Następny dla każdej metody , która iteruje obiekty wejściowe znajdujące się w funkcji EntrySet(). Zobacz poniższy kod.
Przykład:
Jawa
// 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()));> >}> }> |
>
>Wyjście
1 : First 2 : Second 3 : Third 4 : Fourth>