Java програма за итерация през HashMap

В този пример ще се научим да итерираме над ключове, стойности и съпоставяния ключ / стойност на Java HashMap.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:

  • Java HashMap
  • 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цикъла за итерация през елементите на hashmap.

Забележете, че ние извършваме итерация независимо през ключовете , стойностите и съпоставянията ключ / стойност .

  • 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ако има следващ елемент в hashmap
  • next () - връща следващия елемент на hashmap

Забележка : Можем да използваме и метода HashMap forEach (), за да итерираме върху hashmap.

Интересни статии...