Programa Java para eliminar elementos duplicados de ArrayList

En este ejemplo, aprenderemos a convertir el elemento duplicado de ArrayList en Java.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Java:

  • Clase Java ArrayList
  • Interfaz Java Set

Ejemplo 1: eliminar elementos duplicados de ArrayList usando Set

 import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedHashSet; import java.util.Set; class Main ( public static void main(String() args) ( // create an arraylist from the array // using asList() method of the Arrays class ArrayList numbers = new ArrayList(Arrays.asList(1, 2, 3, 4, 1, 3)); System.out.println("ArrayList with duplicate elements: " + numbers); // convert the arraylist into a set Set set = new LinkedHashSet(); set.addAll(numbers); // delete al elements of arraylist numbers.clear(); // add element from set to arraylist numbers.addAll(set); System.out.println("ArrayList without duplicate elements: " + numbers); ) )

Salida

 ArrayList con elementos duplicados: (1, 2, 3, 4, 1, 3) ArrayList sin elementos duplicados: (1, 2, 3, 4)

En el ejemplo anterior, hemos creado una lista de matrices llamada números. La lista de matrices contiene elementos duplicados.

Para eliminar elementos duplicados de la lista de matrices, tenemos

  • agregue todos los elementos de la lista de matrices para establecer
  • vaciar la lista de matrices usando el clear()método
  • agregar todos los elementos del conjunto a la lista de matrices

Aquí, hemos utilizado LinkedHashSetpara crear un conjunto. Es porque elimina los elementos duplicados y mantiene el orden de inserción. Para obtener más información, visite Java LinkedHashSet.

Ejemplo 2: eliminar elementos duplicados de ArrayList usando Stream

 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) ( // create an arraylist from the array // using asList() method of the Arrays class ArrayList numbers = new ArrayList(Arrays.asList(1, 2, 3, 4, 1, 3)); System.out.println("ArrayList with duplicate elements: " + numbers); // create a stream from arraylist Stream stream = numbers.stream(); // call the distinct() of Stream // to remove duplicate elements stream = stream.distinct(); // convert the stream to arraylist numbers = (ArrayList)stream.collect(Collectors.toList()); System.out.println("ArrayList without duplicate elements: " + numbers); ) )

Salida

 ArrayList con elementos duplicados: (1, 2, 3, 4, 1, 3) ArrayList sin elementos duplicados: (1, 2, 3, 4)

En el ejemplo anterior, hemos creado una lista de matrices llamada números. La lista de matrices contiene elementos duplicados.

Aquí, hemos utilizado la clase Stream para eliminar elementos duplicados de la lista de matrices.

  • numbers.stream () : crea una secuencia a partir de la lista de matrices
  • stream.distinct () - elimina elementos duplicados
  • stream.collect (Collectors.toList ()) : devuelve una lista de la secuencia

Aquí, hemos utilizado la conversión de tipos para convertir la lista devuelta en una lista de matrices.

Articulos interesantes...