Avatar ·

如何在Java Map中高效遍历所有条目并获取键和值?

大家好!我刚开始学习Java,遇到了一个问题。 我有一个HashMap,里面添加了一些数据。例如,我存储了学生姓名和他们的成绩: ```java Map studentGrades = new HashMap<>(); studentGrades.put("安娜", 90); studentGrades.put("伊万", 85); studentGrades.put("玛丽亚", 95); ``` 现在我需要将所有学生及其成绩输出到屏幕上。这似乎是一个简单的任务,但我在网上看到很多不同的遍历Map的方法:通过entrySet()、keySet()、values()、lambda、for-each、迭代器……我搞糊涂了。 我试过这样: ```java for (String key : studentGrades.keySet()) { System.out.println("学生:" + key + ", 成绩:" + studentGrades.get(key)); } ``` 这样是可行的,但有人告诉我这效率不高,因为我每次都要通过key调用get()。如果Map很大呢?如果我不只需要读取,还需要在遍历过程中删除元素呢?我听说过ConcurrentModificationException。 你能