Встречается на собеседованиях • сегодня
Как получить уникальные элементы в Stream
В Java можно получить уникальные элементы в Stream с помощью метода `distinct()`. Он использует `equals()` для сравнения элементов. Пример:
```java
List names = Arrays.asList("John", "Mary", "John", "Anna");
List uniqueNames = names.stream()
.distinct()
.collect(Collectors.toList());
// Результат: ["John", "Mary", "Anna"]
```
Для объектов нужно правильно реализовать `equals()` и `hashCode()`. Если нужна уникальность по определенному полю, можно использовать `Collectors.toMap()`:
```java
List people = ...;
List uniqueByAge = people.stream()
.collect(Collectors.toMap(
Person::getAge,
p -> p,
(existing, replacement) -> existing
))
.values()
.stream()
.collect(Collectors.toList());
```

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы