Como iterar eficientemente por todas as entradas (entry) em um Java Map?
Olá a todos! Sou um desenvolvedor Java iniciante e tive um problema com a iteração de elementos em um HashMap. Preciso percorrer todas as chaves e valores para, por exemplo, exibi-los na tela ou realizar alguns cálculos.
Atualmente, estou fazendo assim:
```java
Map map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("cherry", 3);
for (String key : map.keySet()) {
Integer value = map.get(key);
System.out.println(key + " -> " + value);
}
```
Isso funciona, mas ouvi dizer que existem formas mais eficientes. Meu código faz duas chamadas ao map em cada iteração: primeiro obtém a chave, depois obtém o valor correspondente. Não seria mais rápido se eu iterasse diretamente sobre os pares "chave-valor"?
Sei que em Java existe a interface Map.Entry, mas não sei exatamente como usá-la de forma eficiente. Poderiam me mostrar um exemplo de código mais otimizado?