Назад к вопросам
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]