Назад к задачам
Junior — Senior
5

Конвертация Stream в Set и List: различия и нюансы

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

Веб-мост
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Имеется поток объектов типа A, к которому применяются операции .map(...) и .filter(...), после чего результат собирается в разные коллекции. Нужно объяснить различия между Collectors.toSet() и Collectors.toList(): в каких случаях предпочтительно использовать каждый из них и каковы последствия повторного вызова collect() на одном и том же Stream.

Stream<A> s = ...map(...).filter(...);

Set<A> set = s.collect(Collectors.toSet());
List<A> list = s.collect(Collectors.toList());