GrundlagenBeispiel zu HashSet und HashMap

Status
Nicht offen für weitere Antworten.

Kremsn

Mitglied
Hallo,

wäre dankbar für Hilfe bei meiner Aufgabe zu Sets, Maps, die ich angehängt habe.

1. Bei Aufgabe2 bekomm ich bei HashMap doppelte NamensEinträge, das sollte bei einer Map ja nicht sein. Wie initialisiere ich das denn richtig?

2. Bei Aufgabe3 hatte ich gedacht, nehme ich eine Schleife und zwei Sets und sage, wenn die Person schon in Set1 vorkommt , packe sie in Set2, was aber nicht hingehauen hat. Ich soll da auch irgenwie die Methoden equals() und hashcode() aus der Person-Klasse mit einbauen und verändern. Ich versteh aber nich wie ich die in diesem Zusammenhang einsetze.
Ich hab die Methoden vielleicht auch nicht richtig verstanden.
Equals vergleicht wohl zwei Objecte miteinander und hashcode() gibt mir den hashcode von nem Set und so kann man zwei Sets miteinander vergleichen, oder anders?
In beiden Methoden steht super, was aber doch eigentlich auf eine höhere Klasse referenziert. Muss ich das da vielleicht nur mit this tauschen?
 

eRaaaa

Top Contributor
ich habs mir jetzt nicht genau angeschaut, aber bei der map ist es so, dass der KEY nicht doppelt vorkommen kann, value allerdings schon.
Java:
		map.put(1, "hallo");
		map.put(2, "hallo");
würde also gehen

hier allerdings:
Java:
		map.put(1, "hallo");
		map.put(2, "hallo");
		map.put(1, "welt");

1, hallo wird nun durch 1, welt ersetzt. (also immernoch nur 2 elemente nur vorhanden)

bei dir ist ja person das value, kann also gut sein dass da gleiche personen drinnen stehen
 

Kremsn

Mitglied
okay hab das bei aufgabe 2 mit der Map jetzt hinbekommen und keine doppelten einträge mehr. Allerdings steh ich bei aufgabe3 immernoch auf dem Schlauch und weiß nich wie ich das umsetzen kann und was ich mit equals() und hashcode() da anfange.
 
Status
Nicht offen für weitere Antworten.

Oben