U ovom ćemo primjeru naučiti prelaziti preko ključeva, vrijednosti i preslikavanja ključeva / vrijednosti Java HashMap-a.
Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja Java:
- Java HashMap
- Java za svaku petlju
- Sučelje Java Iterator
U Java HashMap-u možemo se kretati kroz njegove ključeve , vrijednosti i preslikavanja ključeva / vrijednosti .
Primjer 1: Iteracija kroz HashMap pomoću forEach petlje
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(", "); ) ) )
Izlaz
HashMap: (Java = Enterprise, JavaScript = Frontend, Python = ML / AI) Unosi: Java = Enterprise, JavaScript = Frontend, Python = ML / AI, Tipke: Java, JavaScript, Python, Vrijednosti: Enterprise, Frontend, ML / AI ,
U gornjem primjeru stvorili smo hashmapu nazvanu jezici. Ovdje smo forEach
petlju koristili za itiranje kroz elemente hashmape.
Primijetite da neovisno ponavljamo ključeve , vrijednosti i preslikavanja ključeva / vrijednosti .
- languages.entrySet () - vraća postavljeni prikaz svih unosa
- languages.keySet () - vraća postavljeni prikaz svih tipki
- languages.values () - vraća postavljeni prikaz svih vrijednosti
Napomena : Koristili smo Map.Entry
nastavu. Ugniježđena klasa vraća prikaz karte.
Primjer 2: Iteracija kroz HashMap pomoću iteratora ()
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(", "); ) ) )
Izlaz
HashMap: (Java = Enterprise, JavaScript = Frontend, Python = ML / AI) Unosi: Java = Enterprise, JavaScript = Frontend, Python = ML / AI, Tipke: Java, JavaScript, Python, Vrijednosti: Enterprise, Frontend, ML / AI ,
U gornjem primjeru vršimo iteraciju kroz ključeve, vrijednosti i preslikavanja ključa / vrijednosti hash mape. iterator()
Metodu smo koristili za ponavljanje hashmape. Ovdje,
- hasNext () - vraća se
true
ako u hashmapi postoji sljedeći element - next () - vraća sljedeći element hashmape
Napomena : Također možemo koristiti metodu HashMap forEach () za iteraciju po hashmapi.