Avatar ·

Wie iteriert man über alle Elemente einer HashMap in Java? Iteration über Map

Hallo zusammen! Ich bin neu in Java und habe ein Problem mit dem Durchlaufen einer HashMap. Ich habe eine Map, die Studentennamen und ihre Noten speichert: ```java HashMap grades = new HashMap<>(); grades.put("Ivan", 85); grades.put("Maria", 92); grades.put("Petr", 78); ``` Ich möchte alle Studenten und ihre Noten auf dem Bildschirm ausgeben. Ich habe versucht, eine normale for-each-Schleife zu verwenden, aber es funktioniert nicht. Ich habe es so geschrieben: ```java for (String student : grades) { System.out.println(student + " - " + grades.get(student)); } ``` Der Compiler meckert: "for-each not applicable to expression type". Ich verstehe, dass ich etwas falsch mache, aber ich kann nicht herausfinden, was genau. Im Internet habe ich viele verschiedene Varianten gesehen: Manche verwenden entrySet(), manche keySet(), und manche sogar Iteratoren. Ich brauche eine einfache und verständliche Lösung, um alle Schlüssel und Werte auszugeben. Außerdem würde ich gerne wissen, welche Methode in modernem Java (Java 8+) als die korrekteste und effizienteste gilt. Vielen Dank im Voraus!