HashMap (Java API): Unterschied zwischen den Versionen
K |
K |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Die [[Klasse]] HashMap befindet sich im Package java.util. Mit HashMap können [[Objekt]] | + | 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== | |
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
import java.util.HashMap; | import java.util.HashMap; | ||
Zeile 55: | Zeile 58: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | 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== | |
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
import java.util.HashMap; | import java.util.HashMap; | ||
Zeile 116: | Zeile 117: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
− | Name Steffie, Alter 20. | + | Name Steffie, Alter 20. |
− | Name Mark, Alter 22. | + | Name Mark, Alter 22. |
− | Name Jack, Alter 20. | + | Name Jack, Alter 20. |
− | Name Olga, Alter 19. | + | Name Olga, Alter 19. |
− | Name Jack, Alter 20. | + | Name Jack, Alter 20. |
− | + | ||
[[Kategorie:Java]] | [[Kategorie:Java]] | ||
[[Kategorie:Java API]] | [[Kategorie:Java API]] |
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.