HashMap (Java API)
Die Klasse HashMap
befindet sich im Package java.util.
und implementiert das Interface Map
. Mit HashMap können Objekte gesammelt und verwaltet werden. Der Konstruktor (Java) der Klasse besitzt 2 Parameter. Der erste ist Key (Schlüssel) und der zweite Value (Wert).
Ein Map-Typ wie HashMap lässt, im Gegensatz zu einem Set-Typ wie HashSet
, auch auch Duplikate von Werten (Value) zum Speichern zu.
HashMap<K, V>();
Über den Key(Schlüssel) erfolgt der Zugriff auf den Value(Wert).
Wichtige Methoden der Klasse sind:
put(Schlüssel, Wert);
Damit wird ein Wert mit dem dazugehörigen Schlüssel in die HashMap eingetragen.
get(Schlüssel);
Liefert den Wert der zu diesem Schlüssel gehört, zurück.
remove(Schlüssel);
Löscht den Schlüssel und dazugehörigen Wert.
size();
Liefert die Anzahl der Einträge in der HashMap zurück.
clear();
Löscht alle Einträge in der HashMap.
Beispiel Nr. 1
import java.util.HashMap;
public class HashMapDemo {
private static HashMap<String, String> hm;
public static void hashMapTest(){
hm = new HashMap<String, String>();
hm.put("John Dean","New York");
hm.put("Mark Took","Los Angeles");
hm.put("Chan Lee","Peking");
System.out.println("Chan Lee lebt in "+hm.get("Chan Lee"));
hm.remove("Chan Lee");
hm.put("Chan Lee", "Peking");
hm.put("Chan Lee", "Washington D.C."); //Der Wert wird überschrieben
System.out.println("Chan Lee lebt in "+hm.get("Chan Lee"));
System.out.println("Anzahl der Einträge: "+hm.size());
hm.clear();
System.out.println("Anzahl der Einträge: "+hm.size());
}
public static void main(String[] args) {
hashMapTest();
}
}
Chan Lee lebt in Peking Chan Lee lebt in Washington D.C. Anzahl der Einträge: 3 Anzahl der Einträge: 0
Beispiel Nr. 2
import java.util.HashMap;
public class HashMapDemo {
private static HashMap<String, String> hm;
public static void hashMapTest2(){
hm2 = new HashMap<String, ObjektDemo>();
hm2.put("1", new ObjektDemo("Jack",20));
hm2.put("2", new ObjektDemo("Mark",22));
hm2.put("3", new ObjektDemo("Steffie",20));
hm2.put("4", new ObjektDemo("Olga",19));
for(ObjektDemo demo : hm2.values()){
demo.printWerte();
}
ObjektDemo o = hm2.get("1");
o.printWerte();
}
public static void main(String[] args) {
hashMapTest();
}
}
public class ObjektDemo {
private String name;
private int alter;
public ObjektDemo() {
}
public ObjektDemo(String nameK , int alterK) {
this.setName(nameK);
this.setAlter(alterK);
}
public void setName(String name){
this.name = name;
}
public void setAlter(int alter){
this.alter = alter;
}
public void printWerte(){
System.out.println("Name "+name+", Alter "+alter+".");
}
}
Name Steffie, Alter 20. Name Mark, Alter 22. Name Jack, Alter 20. Name Olga, Alter 19. Name Jack, Alter 20.