Table of Contents
Cómo eliminar elementos duplicados de una lista usando Streams en Java
Cuando trabajas con listas en Java es habitual encontrarte con elementos repetidos. Gracias a la API de Streams puedes eliminar los valores duplicados de forma sencilla utilizando el método distinct(), consiguiendo un código mucho más limpio y fácil de mantener.
En este tutorial aprenderás cómo eliminar elementos duplicados de una lista usando Streams en Java paso a paso.
¿Qué hace el método distinct() en Java?
El método distinct() elimina los elementos repetidos de un Stream y devuelve únicamente los valores únicos.
Por ejemplo, si tienes la siguiente lista:
Ana
Luis
Ana
Pedro
Luis
El resultado será:
Ana
Luis
Pedro
Explicación paso a paso
1. Crear una lista
List<String> nombres = new ArrayList<>();
2. Añadir elementos repetidos
nombres.add("Ana");
nombres.add("Luis");
nombres.add("Ana");
nombres.add("Pedro");
nombres.add("Luis");
3. Crear el Stream
nombres.stream()
4. Eliminar duplicados
.distinct()
Este método conserva únicamente la primera aparición de cada elemento.
5. Mostrar el resultado
.forEach(System.out::println);
Código completo
package streams;
import java.util.ArrayList;
import java.util.List;
public class EliminarDuplicados {
public static void main(String[] args) {
List<String> nombres = new ArrayList<>();
nombres.add("Ana");
nombres.add("Luis");
nombres.add("Ana");
nombres.add("Pedro");
nombres.add("Luis");
nombres.stream()
.distinct()
.forEach(System.out::println);
}
}
Resultado esperado
Ana
Luis
Pedro
Ventajas de usar distinct()
- Elimina elementos repetidos automáticamente.
- Hace el código más legible.
- Evita escribir lógica manual para comprobar duplicados.
- Funciona perfectamente junto con otras operaciones de Stream.
Guardar el resultado en otra lista
List<String> unicos = nombres.stream()
.distinct()
.toList();
Así conservarás la lista original y obtendrás una nueva lista sin duplicados.
Conclusión
El método distinct() es una de las operaciones más utilizadas de la API de Streams en Java. Permite eliminar duplicados con una sola línea de código, haciendo que los programas sean más sencillos y fáciles de mantener.
Te puede interesar:
- Cómo convertir una lista de nombres a mayúsculas usando Streams en Java
- Cómo eliminar números duplicados en Java usando HashSet (Ejemplo fácil)
Seguir leyendo:
- Cómo eliminar elementos duplicados de una lista usando Streams en JavaCómo eliminar elementos duplicados de una lista usando Streams en Java Cuando trabajas con listas en Java es habitual encontrarte con elementos repetidos. Gracias a la API de Streams puedes eliminar los valores duplicados... Lee más: Cómo eliminar elementos duplicados de una lista usando Streams en Java
- Leroy Merlin deja esta piscina Bestway de 5,49 metros a precio de locura: incluye depuradora, escalera y ahora cuesta 250 euros menosSi buscas una piscina grande para el jardín este verano, esta oferta de Leroy Merlin puede ser una de las mejores del momento Con las temperaturas subiendo cada semana, cada vez son más las... Lee más: Leroy Merlin deja esta piscina Bestway de 5,49 metros a precio de locura: incluye depuradora, escalera y ahora cuesta 250 euros menos
- Forgeon Solum 360 ARGB se desploma de precio en PcComponentes: refrigeración líquida de 360 mm por solo 54,99 €Forgeon Solum 360 ARGB se desploma de precio en PcComponentes: refrigeración líquida de 360 mm por solo 54,99 € Si estás pensando en montar un PC gaming o actualizar la refrigeración de tu equipo,... Lee más: Forgeon Solum 360 ARGB se desploma de precio en PcComponentes: refrigeración líquida de 360 mm por solo 54,99 €
- Parkside vuelve a Lidl con una potente aspiradora para seco y húmedo por solo 59,99 €Parkside vuelve a Lidl con una potente aspiradora para seco y húmedo por solo 59,99 € Si llevabas tiempo esperando una aspiradora resistente para el taller, el garaje o las tareas más exigentes del... Lee más: Parkside vuelve a Lidl con una potente aspiradora para seco y húmedo por solo 59,99 €
- PcComponentes lanza una oferta muy seria: ASUS TUF Gaming con RTX 5060 y 32 GB RAM por 1.199 €PcComponentes lanza una oferta muy seria: ASUS TUF Gaming con RTX 5060 y 32 GB RAM por 1.199 € Encontrar un portátil gaming potente, equilibrado y preparado para durar varios años no siempre es... Lee más: PcComponentes lanza una oferta muy seria: ASUS TUF Gaming con RTX 5060 y 32 GB RAM por 1.199 €





