У цьому прикладі ми навчимося перебирати ключі, значення та зіставлення ключів / значень Java HashMap.
Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування Java:
- Хеш-карта Java
- Java для кожного циклу
- Інтерфейс Java Iterator
У Java HashMap ми можемо переглядати її ключі , значення та зіставлення ключів / значень .
Приклад 1: Ітерація через HashMap, використовуючи цикл forEach
import java.util.HashMap; import java.util.Map.Entry; class Main ( public static void main(String() args) ( // Creating a HashMap HashMap languages = new HashMap(); languages.put("Java", "Enterprise"); languages.put("Python", "ML/AI"); languages.put("JavaScript", "Frontend"); System.out.println("HashMap: " + languages); // iterating through key/value mappings System.out.print("Entries: "); for(Entry entry: languages.entrySet()) ( System.out.print(entry); System.out.print(", "); ) // iterating through keys System.out.print("Keys: "); for(String key: languages.keySet()) ( System.out.print(key); System.out.print(", "); ) // iterating through values System.out.print("Values: "); for(String value: languages.values()) ( System.out.print(value); System.out.print(", "); ) ) )
Вихідні дані
HashMap: (Java = Enterprise, JavaScript = Frontend, Python = ML / AI) Записи: Java = Enterprise, JavaScript = Frontend, Python = ML / AI, Клавіші: Java, JavaScript, Python, Значення: Enterprise, Frontend, ML / AI ,
У наведеному вище прикладі ми створили хеш-карту з іменами мови. Тут ми використали forEach
цикл для ітерації елементів хеш-карти.
Зверніть увагу, що ми самостійно перебираємо ключі , значення та зіставлення ключів / значень .
- languages.entrySet () - повертає заданий вигляд усіх записів
- languages.keySet () - повертає заданий вигляд усіх клавіш
- languages.values () - повертає заданий вигляд усіх значень
Примітка : Ми використовували Map.Entry
клас. Саме вкладений клас повертає вигляд карти.
Приклад 2: Ітерація через HashMap за допомогою ітератора ()
import java.util.HashMap; import java.util.Iterator; import java.util.Map.Entry; class Main ( public static void main(String() args) ( // create a HashMap HashMap languages = new HashMap(); languages.put("Java", "Enterprise"); languages.put("Python", "ML/AI"); languages.put("JavaScript", "Frontend"); System.out.println("HashMap: " + languages); // create an object of Iterator Iterator iterate1 = languages.entrySet().iterator(); // iterate through key/value mappings System.out.print("Entries: "); while(iterate1.hasNext()) ( System.out.print(iterate1.next()); System.out.print(", "); ) // iterate through keys Iterator iterate2 = languages.keySet().iterator(); System.out.print("Keys: "); while(iterate2.hasNext()) ( System.out.print(iterate2.next()); System.out.print(", "); ) // iterate through values Iterator iterate3 = languages.values().iterator(); System.out.print("Values: "); while(iterate3.hasNext()) ( System.out.print(iterate3.next()); System.out.print(", "); ) ) )
Вихідні дані
HashMap: (Java = Enterprise, JavaScript = Frontend, Python = ML / AI) Записи: Java = Enterprise, JavaScript = Frontend, Python = ML / AI, Клавіші: Java, JavaScript, Python, Значення: Enterprise, Frontend, ML / AI ,
У наведеному вище прикладі ми перебираємо ключі, значення та зіставлення ключів / значень хеш-карти. Ми використовували iterator()
метод для ітерації хеш-карти. Ось,
- hasNext () - повертає,
true
якщо в хеш-капі є наступний елемент - next () - повертає наступний елемент хеш-карти
Примітка : Ми також можемо використовувати метод HashMap forEach () для перебору хеш-карти.