Avatar ·

如何正确遍历Java中HashMap的所有元素?Map迭代

大家好!我是Java新手,在遍历HashMap时遇到了问题。我有一个存储学生姓名和成绩的Map: ```java HashMap grades = new HashMap<>(); grades.put("Иван", 85); grades.put("Мария", 92); grades.put("Петр", 78); ``` 我想输出所有学生及其成绩。我尝试使用普通的for-each循环,但没成功。我这样写的: ```java for (String student : grades) { System.out.println(student + " - " + grades.get(student)); } ``` 编译器报错:"for-each not applicable to expression type"。我知道自己哪里做错了,但不知道具体错在哪里。在网上看到很多不同的方法:有人用entrySet(),有人用keySet(),还有人用迭代器。我需要一个简单易懂的解决方案来输出所有键和值。同时想知道在当代Java(Java 8+)中哪种方法被认为最正确和高效。提前谢谢!