Junior — Middle
Care este scopul metodei distinct în API-ul Stream și cum se diferențiază de alte metode de filtrare?
sobes.tech AI
Răspuns de la AI
Metoda distinct() din API-ul Stream este utilizată pentru a elimina duplicatele dintr-un flux de elemente. Aceasta returnează un nou flux în care fiecare element este unic, bazat pe metodele equals() și hashCode() ale obiectelor.
Spre deosebire de alte metode de filtrare, cum ar fi filter(), distinct() elimină automat elementele repetitive, în timp ce filter() permite stabilirea unei condiții arbitrare pentru selecția elementelor.
Exemplu:
List<Integer> numbers = Arrays.asList(1, 2, 2, 3, 4, 4, 5);
List<Integer> distinctNumbers = numbers.stream()
.distinct()
.collect(Collectors.toList());
// distinctNumbers va conține [1, 2, 3, 4, 5]