Hallo zusammen. ich stehe gerade vor einem Problem, dass ich nicht lösen kann. ich möchte eine HashMap mit ihrem Inhalt kopieren. Und zwar nicht nur die Map, sondern auch die Objekte in ihr. Ich habe es mit putAll() versucht, jedoch kopiert er nur die Map, die Referenzen auf die Objekte sind die selben.
Hier das was ich versucht habe:
und die Personen Klasse
Hier das was ich versucht habe:
Java:
import java.util.HashMap;
class HashMapExample {
public static void main(String args[]) {
HashMap<String, Person> hm = new HashMap<String, Person>();
hm.put("1", new Person("ich", 100d));
HashMap<String, Person> copyMap = new HashMap<String, Person>();
copyMap.putAll(hm); //???????????????
Person pers = hm.get("1");
pers.setChash(-50d);
System.out.println(hm.get("1").getChash());
System.out.println(copyMap.get("1").getChash());
}
}
Java:
public class Person {
private String name;
private double chash;
public Person(String name, double chash) {
super();
this.name = name;
this.chash = chash;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getChash() {
return chash;
}
public void setChash(double chash) {
this.chash = chash;
}
}