Sobes.tech
Junior — Middle

Jaki jest cel metody distinct w API Stream i czym różni się od innych metod filtrowania?

sobes.tech AI

Odpowiedź od AI

Metoda distinct() w API Stream służy do usuwania duplikatów z strumienia elementów. Zwraca nowy strumień, w którym każdy element jest unikalny, opierając się na metodach equals() i hashCode() obiektów.

W przeciwieństwie do innych metod filtrowania, takich jak filter(), distinct() automatycznie eliminuje powtarzające się elementy, podczas gdy filter() pozwala na ustawienie dowolnego warunku wyboru elementów.

Przykład:

List<Integer> numbers = Arrays.asList(1, 2, 2, 3, 4, 4, 5);
List<Integer> distinctNumbers = numbers.stream()
    .distinct()
    .collect(Collectors.toList());
// distinctNumbers będzie zawierać [1, 2, 3, 4, 5]