Tenho uma 'ArrayList
Se você não'não quer duplicatas em uma 'Coleção', você deve considerar porque você'está utilizando uma 'Coleção' que permite duplicatas. A maneira mais fácil de remover elementos repetidos é adicionar o conteúdo a um Set
(que não permitirá duplicatas) e então adicionar o Set
de volta à ArrayList
:
Set<String> set = new HashSet<>(yourList);
yourList.clear();
yourList.addAll(set);
É claro que isto destrói a ordenação dos elementos da "ArrayList".
Embora a conversão da ArrayList
em um HashSet
remova efetivamente as duplicatas, se você precisar preservar a ordem de inserção, I'prefiro sugerir que você utilize esta variante
// list is some List of Strings
Set<String> s = new LinkedHashSet<>(list);
Então, se você precisar recuperar uma referência Lista
, você pode utilizar novamente o construtor de conversão.
Se você não'não quer duplicatas, utilize um Set em vez de uma Lista
. Para converter uma Lista
para um Set
você pode utilizar o seguinte código:
// list is some List of Strings
Set<String> s = new HashSet<String>(list);
Se realmente necessário, você pode utilizar a mesma construção para converter um "Conjunto" de volta em uma "Lista".