Das ist eine ziemlich häufige Frage, aber ich konnte diesen Teil nicht finden:
Angenommen, ich habe diese Array-Liste:
%Vor% Jetzt muss ich Duplikate auf der Basis von age
in MyDataClass
finden und sie entfernen. Wie ist es möglich, etwas wie HashSet wie hier hier zu verwenden?
Ich denke, wir müssen equals
in MyDataClass überschreiben?
Ich würde vorschlagen, dass Sie sowohl equals
als auch hashCode
überschreiben ( HashSet
stützt sich auf beide!)
Um die Duplikate zu entfernen, könnten Sie einfach ein neues HashSet
mit dem ArrayList als Argument erstellen und dann die ArrayList löschen und die in HashSet
gespeicherten Elemente zurückstellen.
Und dann
%Vor%Aber was, wenn ich nicht den Luxus habe, das zu tun?
Dann würde ich vorschlagen, dass Sie eine Art Dekorator-Klasse machen, die diese Methoden bereitstellt.
%Vor%Tags und Links java collections