10. HashMap
Im
letzten Kapitel hast du schon eine Art Daten zu speichern kennengelernt und zwar
mit Arrays, wobei zwischen eindimensionalen und mehrdimensionalen Arrays
unterschieden wird.
Eine HashMap dient ebenfalls zum Speichern von Daten. In eine HashMap werden Key-Value
Paare eingespeichert. Du musst also beim Speichern jedes Mal ein Key und dazu
ein Value angeben.
Mit Hilfe des Keys kannst du dann den Wert ausgeben. Der Datentyp
des
Schlüssels und des Wertes
kann
ein beliebiger sein. Wichtig ist, dass kein Schlüssel mehrmals vorkommen darf,
denn ansonsten weiss der Computer nie, welchen der beiden verfügbaren Werten du
haben möchtest.
10.1 HashMap erstellen
Folgend zeige ich dir, wie man eine HashMap erzeugt:HashMap<String,String> meineHashMap = new HashMap<>();
Um eine HashMap zu erstellen musst du zunächst HashMap eintippen und danach stehen, wie
du oben sehen kannst, zwei Datentypen, abgetrennt mit einem Komma und in
eckigen Klammern. Diese stehen jeweils für den Schlüssel und den Wert. Der erste
Datentyp gilt für den Schlüssel und der zweite für den Wert. Dann kommt der
Name der HashMap und ein Gleichheitszeichen. Was nun folgt, kennst du
wahrscheinlich schon von den Arrays. Du musst new HashMap und anschliessend wieder die eckigen
Klammern eingeben.
Hast du das alles nun gemacht, wird deine Entwicklungsumgebung trotzdem einen
Fehler anzeigen und das Programm erkennt die HashMap nicht. Um diesen Fehler zu
beheben musst du einfach nur die HashMap importieren. Bei NetBeans erscheint
dafür links neben dem Code eine Glühbirne. Diese klickst du an und wählst dann Add import for java.util.HashMap. Danach
sollten keine Fehleranzeigen mehr erscheinen.
10.2 Werte hinzufügen
Jetzt weisst du, wie man eine HashMap erstellt, jedoch ist sie noch leer und enthält keine Daten.Im nachfolgenden Code siehst du, wie man Werte hinzufügt.
meineHashMap.put("Key1","Value1");
Um Schlüssel und die dazugehörenden Werte in deine HashMap zu
speichern, musst du zunächst deine HashMap mit ihrem Namen ansprechen und
danach von den verfügbaren Methoden der HashMap Klasse die put-Methode auswählen.
Diese wird dann von dir einen Schlüssel und den Wert fordern. Beachte dabei die
Datentypen des Schlüssels und des Wertes, die du beim Erstellen angegeben hast.
10.3 Werte entfernen
Natürlich willst du nicht nur Werte in deine HashMap speichern, sondern auch entfernen.
Wie du das machen kannst, zeige ich dir mit Hilfe des folgenden Codeausschnitts:
meineHashMap.remove("Key1");
Für das Entfernen von Werten stellt dir die ArrayList die remove-Methode zur Verfügung. Du musst nur den Key angeben. In unserem Fall haben wir hiermit den Wert "Value1" aus unserer ArrayList entfernt.
10.4 Werte ausgeben
Logischerweise
kannst du Daten nicht nur in die HashMap speichern, du kannst die Werte auch
wieder herauslesen. Dies tust du mit der get-Methode der HashMap-Klasse. Wie
auch beim Hinzufügen von Werten musst du auch beim Zugreifen auf Werten deine
HashMap ansprechen.
Beim Auslesen musst du jedoch den Schlüssel zu deinem gewünschten Wert kennen,
denn ohne Schlüssel kann der Computer nicht auf den Wert zugreifen.
meineHashMap.get("Key1");