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

Каким образом можно извлечь только уникальные объекты из потока данных в Stream API?

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

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

sobes.tech AI

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

Пример:

List<String> list = Arrays.asList("apple", "banana", "apple", "orange");
List<String> uniqueList = list.stream()
    .distinct()
    .collect(Collectors.toList());

System.out.println(uniqueList); // [apple, banana, orange]

Если объекты сложные и нужно уникальность по определённому полю, можно использовать Collectors.toMap или filter с помощью вспомогательных структур, но для простых случаев distinct() — самый простой способ.