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ă.