HashMap (Java API): Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
K
K
 
Zeile 1: Zeile 1:
Die [[Klasse]] HashMap befindet sich im Package java.util. und implementiert das Interface {{JAPI|Map}}. Mit {{JAPI|HashMap}} können [[Objekt]]e gesammelt und verwaltet werden. Der [[Konstruktor]] der Klasse besitzt 2 Parameter. Der erste ist [[Key]] (Schlüssel) und der zweite Value (Wert).
+
Die [[Klasse]] {{JAPI|HashMap}} befindet sich im Package <code>java.util.</code> und implementiert das Interface {{JAPI|Map}}. Mit HashMap können [[Objekt|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 {{JAPI|HashSet}}, auch auch Duplikate von Werten (Value) zum Speichern zu.
 +
 
 
<syntaxhighlight lang="java">
 
<syntaxhighlight lang="java">
 
HashMap<K, V>();
 
HashMap<K, V>();
Zeile 26: Zeile 29:
 
Löscht alle Einträge in der HashMap.
 
Löscht alle Einträge in der HashMap.
  
====Beispiel Nr. 1====
+
==Beispiel Nr. 1==
 
<syntaxhighlight lang="java">
 
<syntaxhighlight lang="java">
 
import java.util.HashMap;
 
import java.util.HashMap;
Zeile 61: Zeile 64:
 
  Anzahl der Einträge: 0
 
  Anzahl der Einträge: 0
  
====Beispiel Nr. 2====
+
==Beispiel Nr. 2==
 
<syntaxhighlight lang="java">
 
<syntaxhighlight lang="java">
 
import java.util.HashMap;
 
import java.util.HashMap;

Aktuelle Version vom 7. November 2018, 07:17 Uhr

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.