HashMap (Java API)

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen

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.