Avatar ·

Cómo iterar correctamente todos los elementos de un HashMap en Java? Iteración sobre Map

¡Hola a todos! Soy nuevo en Java y tengo un problema con el recorrido de un HashMap. Tengo un mapa que almacena nombres de estudiantes y sus calificaciones: ```java HashMap grades = new HashMap<>(); grades.put("Iván", 85); grades.put("María", 92); grades.put("Pedro", 78); ``` Quiero mostrar en pantalla todos los estudiantes y sus calificaciones. Intenté usar un bucle for-each normal, pero no me funciona. Escribí esto: ```java for (String student : grades) { System.out.println(student + " - " + grades.get(student)); } ``` El compilador se queja: "for-each not applicable to expression type". Entiendo que estoy haciendo algo mal, pero no puedo entender qué exactamente. En internet vi muchas opciones diferentes: algunos usan entrySet(), otros keySet(), y otros incluso iteradores. Necesito una solución simple y clara para mostrar todas las claves y valores. También me gustaría saber qué método se considera el más correcto y eficiente en Java moderno (Java 8+). ¡Gracias de antemano!