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

Tutoriales básicos de Java

Control de flujo Java

Java array

Java orientado a objetos (I)

Java orientado a objetos (II)

Java orientado a objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Queue (cola)

Conjunto Map de Java

Conjunto Set de Java

Java entrada/salida (I/O)

Reader de Java/Writer

Otras temáticas de Java

Programa Java para eliminar elementos repetidos de ArrayList

Java Guía de ejemplos

En este ejemplo, aprenderemos cómo eliminar elementos repetidos de ArrayList en Java.

Para entender este ejemplo, debe conocer lo siguienteProgramación JavaTema:

Ejemplo1:Utilice Set para eliminar elementos repetidos 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) {
    //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.

Ejemplo2:Eliminar elementos repetidos 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) {
    //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.

Java Guía de ejemplos