English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste exemplo, vamos aprender como remover elementos duplicados do ArrayList usando Java.
Para entender este exemplo, você deve conhecer o seguinteProgramação JavaTema:
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.
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.