Sobes.tech
Назад к вопросам
Junior — Middle
57

Какое назначение у метода distinct в Stream API и чем он отличается от других методов фильтрации?

Компании, где спрашивали
Y_lab development

Ответ от нейросети

sobes.tech AI

Метод distinct() в Stream API используется для удаления дубликатов из потока элементов. Он возвращает новый поток, в котором каждый элемент уникален, основываясь на методе equals() и hashCode() объектов.

Отличие от других методов фильтрации, таких как filter(), в том, что distinct() автоматически устраняет повторяющиеся элементы, а filter() позволяет задать произвольное условие для отбора элементов.

Пример:

List<Integer> numbers = Arrays.asList(1, 2, 2, 3, 4, 4, 5);
List<Integer> distinctNumbers = numbers.stream()
    .distinct()
    .collect(Collectors.toList());
// distinctNumbers будет содержать [1, 2, 3, 4, 5]