V tomto príklade sa naučíme iterovať cez kľúče, hodnoty a mapovanie kľúč / hodnota Java HashMap.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Java:
- Java HashMap
- Java pre každú slučku
- Rozhranie Java Iterator
V prostredí Java HashMap môžeme iterovať prostredníctvom jeho kľúčov , hodnôt a mapovaní kľúčov / hodnôt .
Príklad 1: Iterácia cez HashMap pomocou sluč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ýkon
HashMap: (Java = Enterprise, JavaScript = Frontend, Python = ML / AI) Záznamy: Java = Enterprise, JavaScript = Frontend, Python = ML / AI, Kľúče: Java, JavaScript, Python, Hodnoty: Enterprise, Frontend, ML / AI ,
Vo vyššie uvedenom príklade sme vytvorili hashmapu s názvom jazyky. Tu sme použili forEach
slučku na iteráciu cez prvky hashmapy.
Všimnite si, že iterujeme nezávisle prostredníctvom kľúčov , hodnôt a mapovaní kľúčov / hodnôt .
- languages.entrySet () - vráti nastavené zobrazenie všetkých záznamov
- languages.keySet () - vráti nastavenie všetkých klávesov
- languages.values () - vráti nastavené zobrazenie všetkých hodnôt
Poznámka : Použili sme Map.Entry
triedu. Je to vnorená trieda, ktorá vracia pohľad na mapu.
Príklad 2: Iterácia cez HashMap pomocou iterátora ()
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ýkon
HashMap: (Java = Enterprise, JavaScript = Frontend, Python = ML / AI) Záznamy: Java = Enterprise, JavaScript = Frontend, Python = ML / AI, Kľúče: Java, JavaScript, Python, Hodnoty: Enterprise, Frontend, ML / AI ,
Vo vyššie uvedenom príklade iterujeme kľúčmi, hodnotami a mapovaním kľúčov / hodnôt hašovacej mapy. Použili sme iterator()
metódu na iteráciu nad hashmapou. Tu,
- hasNext () - vráti sa,
true
ak je v hashmape ďalší prvok - next () - vráti ďalší prvok hashmap
Poznámka : Na iteráciu cez hashmapu môžeme použiť aj metódu HashMap forEach ().