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:
- Batidora Ambiano de ALDI por 29,99 €: prepárate porque desde el 19 de agosto puede haber colasBatidora Ambiano de ALDI por 29,99 €: prepárate porque desde el 19 de agosto puede haber colas Si estabas esperando una buena oportunidad para renovar la batidora de casa sin dejarte un dineral, ALDI... Lee más: Batidora Ambiano de ALDI por 29,99 €: prepárate porque desde el 19 de agosto puede haber colas
- Oferta en Leroy Merlin para todos los manitas: adhesivo CEYS Montaje PRO Turbo por solo 6,29 €Oferta en Leroy Merlin para todos los manitas: adhesivo CEYS Montaje PRO Turbo por solo 6,29 € Si hay un producto que nunca debería faltar en la caja de herramientas de cualquier manitas, ese... Lee más: Oferta en Leroy Merlin para todos los manitas: adhesivo CEYS Montaje PRO Turbo por solo 6,29 €
- Monitor IGGUAL de 23,8 pulgadas por menos de 75 euros: 120 Hz, panel IPS y 1 ms para renovar tu escritorioMonitor IGGUAL de 23,8 pulgadas por menos de 75 euros: 120 Hz, panel IPS y 1 ms para renovar tu escritorio Si llevas tiempo pensando en cambiar de monitor, pero no quieres gastarte una... Lee más: Monitor IGGUAL de 23,8 pulgadas por menos de 75 euros: 120 Hz, panel IPS y 1 ms para renovar tu escritorio
- El procesador de alimentos SilverCrest de Lidl que promete arrasar por menos de 45 euros desde el 10 de agostoEl procesador de alimentos SilverCrest de Lidl que promete arrasar por menos de 45 euros desde el 10 de agosto Hay pequeños electrodomésticos que aparecen en el catálogo de Lidl y se convierten en... Lee más: El procesador de alimentos SilverCrest de Lidl que promete arrasar por menos de 45 euros desde el 10 de agosto
- Batidora amasadora SilverCrest por 11,99 € en Lidl desde el 10 de agosto de 2026: el pequeño electrodoméstico que promete agotarseBatidora amasadora SilverCrest por 11,99 € en Lidl desde el 10 de agosto de 2026: el pequeño electrodoméstico que promete agotarse Si eres de los que disfrutan preparando bizcochos, galletas, masas para pizza o... Lee más: Batidora amasadora SilverCrest por 11,99 € en Lidl desde el 10 de agosto de 2026: el pequeño electrodoméstico que promete agotarse





