Sobes.tech
Junior — Middle

Como extrair apenas objetos únicos de um fluxo de dados na API Stream?

sobes.tech IA

Resposta da IA

Na API Stream do Java, para extrair objetos únicos de um fluxo, usa-se o método distinct(). Este devolve um novo fluxo no qual os duplicados são removidos com base nos métodos equals() e hashCode() dos objetos.

Exemplo:

List<String> list = Arrays.asList("maçã", "banana", "maçã", "laranja");
List<String> uniqueList = list.stream()
    .distinct()
    .collect(Collectors.toList());

System.out.println(uniqueList); // [maçã, banana, laranja]

Se os objetos forem complexos e for necessária a unicidade por um campo específico, pode-se usar Collectors.toMap ou filter com estruturas auxiliares, mas para casos simples, distinct() é a forma mais fácil.