Sobes.tech
Junior — Middle

¿Cómo se pueden extraer solo objetos únicos de un flujo de datos en la API Stream?

sobes.tech AI

Respuesta de la IA

En Java Stream API, para extraer objetos únicos de un flujo se utiliza el método distinct(). Este devuelve un nuevo flujo en el que se eliminan los duplicados basándose en los métodos equals() y hashCode() de los objetos.

Ejemplo:

List<String> list = Arrays.asList("manzana", "plátano", "manzana", "naranja");
List<String> uniqueList = list.stream()
    .distinct()
    .collect(Collectors.toList());

System.out.println(uniqueList); // [manzana, plátano, naranja]

Si los objetos son complejos y se necesita la unicidad en un campo específico, se puede usar Collectors.toMap o filter con estructuras auxiliares, pero para casos simples, distinct() es la forma más sencilla.