Junior — Middle
Как да извлечем само уникални обекти от поток от данни в API Stream?
sobes.tech AI
Отговор от AI
В Java Stream API за извличане на уникални обекти от поток се използва методът distinct(). Той връща нов поток, в който са премахнати дублиращите се елементи въз основа на методите equals() и hashCode() на обектите.
Пример:
List<String> list = Arrays.asList("ябълка", "банан", "ябълка", "портокал");
List<String> uniqueList = list.stream()
.distinct()
.collect(Collectors.toList());
System.out.println(uniqueList); // [ябълка, банан, портокал]
Ако обектите са сложни и е необходима уникалност по определено поле, може да се използва Collectors.toMap или filter с помощни структури, но за прости случаи distinct() е най-лесният начин.