Neste exemplo, aprenderemos a iterar sobre chaves, valores e mapeamentos de chave / valor de um HashMap Java.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:
- Java HashMap
- Java para cada Loop
- Interface do iterador Java
No Java HashMap, podemos iterar por meio de suas chaves , valores e mapeamentos de chave / valor .
Exemplo 1: iterar por meio de HashMap usando o loop 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(", "); ) ) )
Resultado
HashMap: (Java = Enterprise, JavaScript = Frontend, Python = ML / AI) Entradas: Java = Enterprise, JavaScript = Frontend, Python = ML / AI, Chaves: Java, JavaScript, Python, Valores: Enterprise, Frontend, ML / AI ,
No exemplo acima, criamos um hashmap denominado linguagens. Aqui, usamos o forEach
loop para iterar pelos elementos do hashmap.
Observe que estamos iterando de forma independente por meio de chaves , valores e mapeamentos de chave / valor .
- language.entrySet () - retorna a visualização definida de todas as entradas
- language.keySet () - retorna a visualização definida de todas as chaves
- language.values () - retorna a visualização definida de todos os valores
Nota : usamos a Map.Entry
classe. É a classe aninhada que retorna uma visão do mapa.
Exemplo 2: iterar por meio de HashMap usando iterator ()
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(", "); ) ) )
Resultado
HashMap: (Java = Enterprise, JavaScript = Frontend, Python = ML / AI) Entradas: Java = Enterprise, JavaScript = Frontend, Python = ML / AI, Chaves: Java, JavaScript, Python, Valores: Enterprise, Frontend, ML / AI ,
No exemplo acima, estamos iterando por meio de chaves, valores e mapeamentos de chave / valor do mapa hash. Usamos o iterator()
método para iterar no hashmap. Aqui,
- hasNext () - retorna
true
se houver próximo elemento no mapa de hash - next () - retorna o próximo elemento do mapa de hash
Observação : também podemos usar o método HashMap forEach () para iterar sobre o hashmap.