Hej Leute,
ich hoffe ihr fasst das nicht als Sinnlosposting ab, aber ich verzweifel grade und mir erschließt es sich auch einfach nicht:
Warum kennt java.util.HashSet die Methode get(Object o) nicht? Und wie umgeht ihr das?
Achso kurzer Hintergrund, ich habe für das entsprechende Object equals() und hashCode() überschrieben weil ich die Objekte bereits als identisch betrachte wenn nur bestimmte Kriterien erfüllt sind. Nun möchte ich also wenn ein Object, was u.U. zwar eine andere Instanz ist aber nach meinem Kriterium dennoch gleich zu einem Set-Eintrag, nicht zu dem Set addiert wissen, dann aber das Object welches bereits drin ist noch verändern:
So wie krisch ich das sinnvoll hin ohne jedes mal das Set mit nem dämlichen Iterator zu druchlaufen? Warum kennt jede verdammte andere Collection get() nur ausgerechnet HashSet nicht?
Dank euch ganz herzlich. Ich weiß ihr könnt mir helfen! Ohne euch hätt ich meine Studienarbeit eh schon längst hingeschmissen!
Beste grüße
Biesterfeld
ich hoffe ihr fasst das nicht als Sinnlosposting ab, aber ich verzweifel grade und mir erschließt es sich auch einfach nicht:
Warum kennt java.util.HashSet die Methode get(Object o) nicht? Und wie umgeht ihr das?
Achso kurzer Hintergrund, ich habe für das entsprechende Object equals() und hashCode() überschrieben weil ich die Objekte bereits als identisch betrachte wenn nur bestimmte Kriterien erfüllt sind. Nun möchte ich also wenn ein Object, was u.U. zwar eine andere Instanz ist aber nach meinem Kriterium dennoch gleich zu einem Set-Eintrag, nicht zu dem Set addiert wissen, dann aber das Object welches bereits drin ist noch verändern:
Code:
if(! mySet.add(myObject)){
((MyObject)mySet.get(myObject)).increaseMultiplicity(); // HashSet.get() gibst nicht
}
So wie krisch ich das sinnvoll hin ohne jedes mal das Set mit nem dämlichen Iterator zu druchlaufen? Warum kennt jede verdammte andere Collection get() nur ausgerechnet HashSet nicht?
Dank euch ganz herzlich. Ich weiß ihr könnt mir helfen! Ohne euch hätt ich meine Studienarbeit eh schon längst hingeschmissen!
Beste grüße
Biesterfeld