Sobes.tech
Junior — Middle

¿Cuál es el propósito del método distinct en la API Stream y en qué se diferencia de otros métodos de filtrado?

sobes.tech AI

Respuesta de la IA

El método distinct() en la API Stream se utiliza para eliminar duplicados de un flujo de elementos. Devuelve un nuevo flujo en el que cada elemento es único, basándose en los métodos equals() y hashCode() de los objetos.

A diferencia de otros métodos de filtrado, como filter(), distinct() elimina automáticamente los elementos repetidos, mientras que filter() permite establecer una condición arbitraria para seleccionar elementos.

Ejemplo:

List<Integer> numbers = Arrays.asList(1, 2, 2, 3, 4, 4, 5);
List<Integer> distinctNumbers = numbers.stream()
    .distinct()
    .collect(Collectors.toList());
// distinctNumbers contendrá [1, 2, 3, 4, 5]