Avatar ·

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?