Como iterar corretamente sobre todos os elementos de um HashMap em Java? Diferentes formas de iteração
Olá a todos! Sou um desenvolvedor Java iniciante e tive um problema com a iteração de um HashMap.\n\nEu tenho um HashMap que armazena nomes de alunos e suas notas:\n\n```java\nHashMap studentGrades = new HashMap<>();\nstudentGrades.put("Иван", 85);\nstudentGrades.put("Мария", 92);\nstudentGrades.put("Петр", 78);\nstudentGrades.put("Анна", 95);\n```\n\nPreciso exibir na tela todos os alunos e suas notas. Tentei usar um loop for-each comum, mas ele não funciona diretamente com HashMap.\n\nDepois, encontrei na internet um exemplo com keySet():\n\n```java\nfor (String name : studentGrades.keySet()) {\n System.out.println(name + ": " + studentGrades.get(name));\n}\n```\n\nIsso funciona, mas ouvi dizer que essa forma não é eficiente, especialmente para mapas grandes. Também vi que alguém usa entrySet(), mas não entendi bem a diferença.\n\nPor favor, me digam:\n\n1. Quais são as formas de iterar sobre um HashMap em Java?\n2. Qual forma é considerada a mais correta e performática?