Sobes.tech
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]