Sobes.tech
Junior — Middle

Qual é a finalidade do método distinct na API Stream e como ele difere de outros métodos de filtragem?

sobes.tech IA

Resposta da IA

O método distinct() na API Stream é usado para remover duplicados de um fluxo de elementos. Ele retorna um novo fluxo, no qual cada elemento é único, com base nos métodos equals() e hashCode() dos objetos.

Diferentemente de outros métodos de filtragem, como filter(), distinct() elimina automaticamente elementos repetidos, enquanto filter() permite definir uma condição arbitrária para a seleção de elementos.

Exemplo:

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