English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este ejemplo, aprenderemos cómo eliminar elementos repetidos de ArrayList en Java.
Para entender este ejemplo, debe conocer lo siguienteProgramación 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) { //Crear una arrayList a partir de un array //Usar el método asList() de la clase Arrays ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 1, 3); System.out.println("ArrayList con elementos repetidos: " + numbers); //Convertir arrayList a set Set<Integer> set = new LinkedHashSet<>(); set.addAll(numbers); //Eliminar todos los elementos de la arrayList numbers.clear(); //Agregar elementos del conjunto set a la arrayList numbers.addAll(set); System.out.println("ArrayList sin elementos repetidos: ") + numbers); } }
Resultados de salida
ArrayList con elementos repetidos: [1, 2, 3, 4, 1, 3] ArrayList sin elementos repetidos: [1, 2, 3, 4]
En el ejemplo anterior, creamos una lista de array llamada numbers. ArrayList contiene elementos repetidos.
Para eliminar elementos repetidos de la arrayList, necesitamos:
Agregar todos los elementos de la arrayList al conjunto set
Usar el método clear() para vaciar la arrayList
Agregar todos los elementos del conjunto set a la arrayList
Aquí, usamos LinkedHashSet para crear la colección. Esto es porque elimina elementos repetidos y mantiene el orden de inserción. Para obtener más información, visiteJava 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) { //Crear una arrayList a partir de un array //Usar el método asList() de la clase Array ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 1, 3); System.out.println("ArrayList con elementos repetidos: " + numbers); //Crear un flujo a partir de una lista de arrays Stream<Integer> stream = numbers.stream(); //Llamar a Stream.distinct() //Eliminar elementos repetidos stream = stream.distinct(); //Convertir el flujo en una arrayList numbers = (ArrayList<Integer>)stream.collect(Collectors.toList()); System.out.println("ArrayList sin elementos repetidos: ") + numbers); } }
Resultados de salida
ArrayList con elementos repetidos: [1, 2, 3, 4, 1, 3] ArrayList sin elementos repetidos: [1, 2, 3, 4]
En el ejemplo anterior, creamos una lista de array llamada numbers. ArrayList contiene elementos repetidos.
Aquí, utilizamosStreamLa clase elimina elementos repetidos de arraylist.
Numbers.stream() - Crear un flujo desde arraylist
stream.distinct() - Eliminar elementos repetidos
stream.collect(Collectors.toList()) - Devolver lista desde flujo
Aquí, utilizamos la conversión de tipo para convertir la lista devuelta en arraylist.