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?