Avatar ·

Wie man effizient über alle Einträge in einer Java Map iteriert und Key und Value erhält?

Hallo zusammen! Ich habe gerade angefangen, Java zu lernen, und bin auf ein Problem gestoßen. Ich habe eine HashMap, in die ich einige Daten einfüge. Zum Beispiel speichere ich dort die Namen von Studenten und ihre Noten: ```java Map studentGrades = new HashMap<>(); studentGrades.put("Anna", 90); studentGrades.put("Ivan", 85); studentGrades.put("Maria", 95); ``` Jetzt muss ich alle Studenten und ihre Noten auf dem Bildschirm ausgeben. Es scheint eine einfache Aufgabe zu sein, aber ich sehe im Internet viele verschiedene Möglichkeiten, eine Map zu durchlaufen: über entrySet(), keySet(), values(), Lambdas, for-each, Iteratoren ... Ich bin verwirrt. Ich habe es so versucht: ```java for (String key : studentGrades.keySet()) { System.out.println("Student: " + key + ", Note: " + studentGrades.get(key)); } ``` Das funktioniert, aber mir wurde gesagt, dass es ineffizient ist, weil ich jedes Mal get() mit dem Schlüssel aufrufe. Was ist, wenn die Map groß ist? Und was, wenn ich während des Durchlaufs nicht nur lesen, sondern auch Elemente löschen muss? Ich habe von ConcurrentModificationException gehört. Könnt