V tomto příkladu se naučíme iterovat přes klíče, hodnoty a mapování klíč / hodnota Java HashMap.
Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:
- Java HashMap
- Java pro každou smyčku
- Rozhraní Java Iterator
V prostředí Java HashMap můžeme iterovat prostřednictvím jeho klíčů , hodnot a mapování klíč / hodnota .
Příklad 1: Iterovat HashMap pomocí smyčky 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(", "); ) ) )
Výstup
HashMap: (Java = Enterprise, JavaScript = Frontend, Python = ML / AI) Záznamy: Java = Enterprise, JavaScript = Frontend, Python = ML / AI, Klíče: Java, JavaScript, Python, Hodnoty: Enterprise, Frontend, ML / AI ,
Ve výše uvedeném příkladu jsme vytvořili hashmapu pojmenovanou jazyky. Zde jsme použili forEach
smyčku k iteraci prvky hashmap.
Všimněte si, že nezávisle iterujeme prostřednictvím klíčů , hodnot a mapování klíč / hodnota .
- languages.entrySet () - vrátí nastavené zobrazení všech položek
- languages.keySet () - vrátí nastavené zobrazení všech kláves
- languages.values () - vrátí nastavené zobrazení všech hodnot
Poznámka : Použili jsme Map.Entry
třídu. Je to vnořená třída, která vrací pohled na mapu.
Příklad 2: Iterace přes HashMap pomocí iterátoru ()
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(", "); ) ) )
Výstup
HashMap: (Java = Enterprise, JavaScript = Frontend, Python = ML / AI) Záznamy: Java = Enterprise, JavaScript = Frontend, Python = ML / AI, Klíče: Java, JavaScript, Python, Hodnoty: Enterprise, Frontend, ML / AI ,
Ve výše uvedeném příkladu provádíme iteraci pomocí klíčů, hodnot a mapování klíč / hodnota hash mapy. iterator()
Metodu jsme použili k iteraci přes hashmapu. Tady,
- hasNext () - vrátí se,
true
pokud je v hashmapě další prvek - next () - vrátí další prvek hashmap
Poznámka : Můžeme také použít metodu HashMap forEach () k iteraci přes hashmapu.