English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico de Java

Controle de fluxo Java

Java array

Java orientação a objetos (I)

Java orientação a objetos (II)

Java orientação a objetos (III)

Tratamento de Exceções Java

Java Lista (List)

Java Queue (fila)

Conjunto Java Map

Conjunto Java Set

Java entrada e saída (I/O)

Reader Java/Writer

Outros tópicos Java

Programa Java para remover elementos duplicados do ArrayList

Exemplos Java completos

Neste exemplo, vamos aprender como remover elementos duplicados do ArrayList usando Java.

Para entender este exemplo, você deve conhecer o seguinteProgramação JavaTema:

Exemplo1:Usar Set para remover elementos duplicados de ArrayList

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Set;
class Main {
  public static void main(String[] args) {
    //Criar um ArrayList a partir de um array
    //Usar o método asList() da classe Arrays
    ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 1, 3);
    System.out.println("ArrayList com elementos repetidos: " + numbers);
    //Converter o ArrayList para um conjunto
    Set<Integer> set = new LinkedHashSet<>();
    set.addAll(numbers);
    //Remover todos os elementos do ArrayList
    numbers.clear();
    //Adicionar elementos do conjunto set para o ArrayList
    numbers.addAll(set);
    System.out.println("ArrayList sem elementos repetidos: "} + numbers);
  }
}

Resultados de saída

ArrayList com elementos repetidos: [1, 2, 3, 4, 1, 3]
ArrayList sem elementos repetidos: [1, 2, 3, 4]

No exemplo acima, criamos uma lista de array chamada numbers. A arraylist contém elementos repetidos.

Para remover elementos repetidos do ArrayList, precisamos:

  • Adicionar todos os elementos do ArrayList para o conjunto set

  • Usar o método clear() para esvaziar o ArrayList

  • Adicionar todos os elementos do conjunto set para o ArrayList

Aqui, usamos LinkedHashSet para criar o conjunto. Isso porque ele remove elementos repetidos e mantém a ordem de inserção. Para mais informações, acesseJava LinkedHashSet.

Exemplo2:Usar Stream para remover elementos repetidos do ArrayList

import java.util.ArrayList;
import java.util.Arrays;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class Main {
  public static void main(String[] args) {
    //Criar um ArrayList a partir de um array
    //Usar o método asList() da classe Arrays
    ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 1, 3);
    System.out.println("ArrayList com elementos repetidos: " + numbers);
    //Criar um fluxo a partir da lista de arrays
    Stream<Integer> stream = numbers.stream();
    //Chamar o método distinct() do Stream
    //Remover elementos duplicados
    stream = stream.distinct();
    //Converter o fluxo para ArrayList
    numbers = (ArrayList<Integer>)stream.collect(Collectors.toList());
    System.out.println("ArrayList sem elementos repetidos: "} + numbers);
  }
}

Resultados de saída

ArrayList com elementos repetidos: [1, 2, 3, 4, 1, 3]
ArrayList sem elementos repetidos: [1, 2, 3, 4]

No exemplo acima, criamos uma lista de array chamada numbers. A arraylist contém elementos repetidos.

Aqui, usamosStreamA classe remove elementos duplicados do arraylist.

  • Numbers.stream() - Criar um fluxo a partir de arraylist

  • stream.distinct() - Remover elementos duplicados

  • stream.collect(Collectors.toList()) - Retornar lista do fluxo

Aqui, usamos a conversão de tipo para converter a lista devolvida em arraylist.

Exemplos Java completos