Para percorrermos um HashMap, utilizamos duas formas básicas utilizando o comando for,
com auxílio dos métodos get ou o método forEach.
Para o uso do comando for, precisamos utilizar o tipo de dado Entry<K,V> que
pertence a classe Map. Vamos utilizar também o método entrySet da classe HashMap.
Sintaxe
public void forEach(BiConsumer<? super E> action)
public Set<Map.Entry<K,V> entrySet()
O tipo de dado Entry possui os métodos getValue e getKey que retornam, respectivamente, o valor(V)
e a chave(K) de um elemento de um HashMap.
Exemplo 7
//Main.java
import java.util.HashMap;
import java.util.Map;
public class Main
{
public static void main(String[] args) {
HashMap<Integer,String> hm = new HashMap<Integer,String>();
hm.put(10,"Teste 10");
hm.put(20,"Teste 20");
for( Map.Entry<Integer, String> e : hm.entrySet()){
System.out.println(e.getKey());
System.out.println(e.getValue());
}
}
}
Saída
20
Teste 20
10
Teste 10
Para melhor compreensão do exemplo abaixo, é necessário ter conhecimento sobre expressão lambda utilizada em conjunto
com o método forEach.
Exemplo 8
//Main.java
import java.util.HashMap;
import java.util.Map;
public class Main
{
public static void main(String[] args) {
HashMap<Integer,String> hm = new HashMap<Integer,String>();
hm.put(10,"Teste 10");
hm.put(20,"Teste 20");
hm.forEach((c,v) ->{
System.out.println(c);
System.out.println(v);
});
}
}
Saída
123