Wie kann ich wiederholte Elemente aus ArrayList entfernen?
Ich habe eine ArrayList<String>
, und ich möchte wiederholte Strings aus ihr entfernen. Wie kann ich das tun?
471
3
Ich habe eine ArrayList<String>
, und ich möchte wiederholte Strings aus ihr entfernen. Wie kann ich das tun?
Wenn Sie keine Duplikate in einer
Collection
haben wollen, sollten Sie überlegen, warum Sie eineCollection
verwenden, die Duplikate zulässt. Der einfachste Weg, wiederholte Elemente zu entfernen, ist, den Inhalt zu einemSet
hinzuzufügen (das keine Duplikate zulässt) und dann dasSet
wieder zurArrayList
hinzuzufügen:Natürlich wird dadurch die Reihenfolge der Elemente in der
ArrayList
zerstört.Obwohl die Konvertierung der
ArrayList
in einHashSet
effektiv Duplikate entfernt, wenn Sie die Einfügereihenfolge beibehalten müssen, würde ich Ihnen eher diese Variante empfehlenWenn Sie dann eine
List
-Referenz zurückbekommen müssen, können Sie wieder den Konvertierungskonstruktor verwenden.Wenn Sie keine Duplikate wollen, verwenden Sie ein Set anstelle einer
List
. Um eine "Liste" in ein "Set" umzuwandeln, können Sie den folgenden Code verwenden:Wenn es wirklich nötig ist, kannst du die gleiche Konstruktion verwenden, um ein "Set" wieder in eine "Liste" zu verwandeln.