Come rimuovo gli elementi ripetuti da ArrayList?
Ho una ArrayList<String>
, e voglio rimuovere le stringhe ripetute da essa. Come posso farlo?
471
3
Ho una ArrayList<String>
, e voglio rimuovere le stringhe ripetute da essa. Come posso farlo?
Se non vuoi duplicati in una
Collection
, dovresti considerare perché stai usando unaCollection
che permette i duplicati. Il modo più semplice per rimuovere gli elementi ripetuti è quello di aggiungere il contenuto ad unSet
(che non permetterà duplicati) e poi aggiungere ilSet
di nuovo allaArrayList
:Naturalmente, questo distrugge l'ordine degli elementi nella
ArrayList
.Anche se la conversione della
ArrayList
in unHashSet
rimuove efficacemente i duplicati, se avete bisogno di preservare l'ordine di inserimento, vi suggerisco piuttosto di usare questa variantePoi, se avete bisogno di recuperare un riferimento ad una
List
, potete usare di nuovo il costruttore di conversione.Se non volete duplicati, usate un Set invece di una
List
. Per convertire unaList
in unSet
puoi usare il seguente codice:Se proprio necessario, potete usare la stessa costruzione per convertire un
Set
in unaList
.