HashMap є частиною колекції Java, яка забезпечує базову реалізацію інтерфейсу Map Java шляхом зберігання даних у парах (ключ, значення) для доступу до них за індексом іншого типу. Один об’єкт вказано як ключ (індекс) до іншого об’єкта (значення). Якщо ви спробуєте вставити дублікат ключа, він замінить елемент відповідного ключа. Щоб використовувати цей клас і його методи, необхідно виконати імпорт java.util.HashMap пакет або його суперклас.
Існує велика кількість способів ітерації по HashMap, 5 з яких перераховані нижче:
- Ітерація через HashMap EntrySet використання ітераторів.
- Ітерація через HashMap KeySet за допомогою Ітератора.
- Ітерація HashMap за допомогою для кожного циклу .
- Ітерація через HashMap за допомогою лямбда-виразів.
- Перегляньте HashMap за допомогою API потоку .
Спосіб 1: використання циклу for для перебору HashMap. Ітерація HashMap через цикл for для використання getValue() і getKey() функції.
Реалізація: У наведеному нижче коді entrySet() використовується для повернення набору подання зіставлених елементів. З наведеного нижче коду:
- set.getValue(), щоб отримати значення з набору.
- set.getKey(), щоб отримати ключ із набору.
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());> >}> >}> }> |
>
>
755 модВихід
P = Python A = Angular H = Hibernate J = Java>
Спосіб 2: використання forEach для повторення HashMap. У другому методі — функція forEach для повторення пар ключ-значення.
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(клавіша +>' = '> + value));> >}> }> |
>
>Вихід
P = Python A = Angular H = Hibernate J = Java>
Спосіб 3: використання ітератора для проходження через HashMap. У цьому методі ітератор використовується для повторення кожної зіставленої пари в HashMap, як показано в програмі Java нижче.
приклад:
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());> >}> >}> }> |
Як завантажити відео з youtube vlc
>
>
1 = First 2 = Second 3 = Third 4 = Fourth>
Спосіб 4: Ітерація через HashMap за допомогою лямбда-виразів
Лямбда-вираз — це короткий блок коду, який приймає параметри та повертає значення. Лямбда-вирази подібні до методів, але їм не потрібні назви, і їх можна реалізувати прямо в тілі методу. Найпростіший лямбда-вираз містить один параметр і вираз:
parameter ->вираз>>
приклад:
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(клавіша +>' = '> + value));> >}> }> |
>
int до рядка java
>Вихід
A = Apple B = Basketball C = Cat D = Dog>
Спосіб 5: Переглядайте HashMap за допомогою Stream API
Наведений нижче приклад повторює HashMap за допомогою потокового API.
Stream API використовується для обробки колекцій об’єктів.
Потоки не змінюють вихідну структуру даних, вони лише надають результат відповідно до конвеєрних методів
Кроки:
- Перший виклик entrySet().stream() метод, який у свою чергу повертає об’єкт Stream.
- Далі для кожного методу , який повторює вхідні об’єкти, які є у entrySet(). Перегляньте наведений нижче код.
приклад:
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()));> >}> }> |
типи бінарних дерев
>
>Вихід
1 : First 2 : Second 3 : Third 4 : Fourth>