Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:java:algorithmen:assoziative_arrays:start [05.12.2022 19:37] – [Operationen auf allen Elementen: Eine HashMap mit einer Schleife durchlaufen] Frank Schiebel | faecher:informatik:oberstufe:java:algorithmen:assoziative_arrays:start [31.03.2025 16:36] (aktuell) – [Anmerkung zu Wrapper-Klassen] Frank Schiebel | ||
---|---|---|---|
Zeile 107: | Zeile 107: | ||
} | } | ||
- | // Gibt schlüssel | + | // Gibt Schlüssel |
for (String key : hauptstadt.keySet()) { | for (String key : hauptstadt.keySet()) { | ||
System.out.println(" | System.out.println(" | ||
} | } | ||
+ | </ | ||
+ | **(2) Wenn man an den Schlüsseln nicht interessiert ist, kann man direkt die Werte durchlaufen** | ||
+ | |||
+ | Mit der Methode values() kann man sich direkt die Menge der Werte beschaffen, und diese mit einer foreach-Schleife durchlaufen. | ||
+ | |||
+ | <code java> | ||
+ | // Nur die Werte beschaffen und ausgeben | ||
+ | for (String stadt : hauptstadt.values()) { | ||
+ | System.out.println(stadt); | ||
+ | } | ||
</ | </ | ||
+ | ===== Anmerkung zu Wrapper-Klassen ===== | ||
+ | |||
+ | |||
+ | Schlüssel und Werte bei HashMaps sind stets **Objekte**. Aus diesem Grund schlägt eine Verwendung mit primitiven Datentypen wie int, char , double fehl: '' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Das Problem wird gelöst, indem man für die primitiven Datentypen die zugehörigen Wrapper-Klassen verwendet: | ||
+ | |||
+ | <code java> | ||
+ | HashMap< | ||
+ | </ | ||
+ | |||
+ | ==== Übersicht über die Wrapper-Klassen ==== | ||
+ | |||
+ | |||
+ | ^ Primitiver Typ ^ Wrapper Klasse | ||
+ | | byte | Byte | | ||
+ | | short | ||
+ | | int | ||
+ | | long | Long | | ||
+ | | float | ||
+ | | double | ||
+ | | char | Character | ||
+ | | boolean | ||