Avatar ·

Cómo iterar correctamente sobre todos los elementos de un HashMap en Java? Diferentes formas de iteración

¡Hola a todos! Soy un desarrollador Java principiante y tuve un problema con la iteración de un HashMap. Tengo un HashMap que almacena nombres de estudiantes y sus calificaciones: ```java HashMap studentGrades = new HashMap<>(); studentGrades.put("Иван", 85); studentGrades.put("Мария", 92); studentGrades.put("Петр", 78); studentGrades.put("Анна", 95); ``` Necesito mostrar en pantalla todos los estudiantes y sus calificaciones. Intenté usar un bucle for-each normal, pero no funciona directamente con HashMap. Luego encontré en internet un ejemplo con keySet(): ```java for (String name : studentGrades.keySet()) { System.out.println(name + ": " + studentGrades.get(name)); } ``` Esto funciona, pero escuché que esta forma no es eficiente, especialmente para mapas grandes. También vi que alguien usa entrySet(), pero no entendí bien la diferencia. Por favor, indíquenme: 1. ¿Cuáles son las formas de iterar sobre un HashMap en Java? 2. ¿Qué forma se considera la más correcta y eficiente?