Sobes.tech
Junior — Middle

Cum se pot extrage doar obiecte unice dintr-un flux de date în API-ul Stream?

sobes.tech AI

Răspuns de la AI

În API-ul Stream din Java, pentru extragerea obiectelor unice dintr-un flux, se folosește metoda distinct(). Aceasta returnează un flux nou în care duplicatele sunt eliminate pe baza metodelor equals() și hashCode() ale obiectelor.

Exemplu:

List<String> list = Arrays.asList("măr", "banană", "măr", "portocală");
List<String> uniqueList = list.stream()
    .distinct()
    .collect(Collectors.toList());

System.out.println(uniqueList); // [măr, banană, portocală]

Dacă obiectele sunt complexe și este nevoie de unicitate pe un anumit câmp, se poate folosi Collectors.toMap sau filter cu structuri auxiliare, dar pentru cazuri simple, distinct() este cea mai simplă metodă.