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.