Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: stream, api

Какими способами можно объединять коллекции с помощью Stream API?

Вопрос проверяет знание Stream API и умение работать с коллекциями в функциональном стиле.

Короткий ответ

Коллекции можно объединять с помощью Stream.concat, flatMap или добавления элементов в один поток. Stream API позволяет гибко комбинировать данные. Выбор способа зависит от количества коллекций и структуры данных. Чаще всего используют flatMap. Это делает код компактным и читаемым.

Длинный ответ

Stream API предоставляет несколько способов объединения коллекций без ручных циклов.

Определение

Объединение коллекций через Stream API — это преобразование нескольких источников данных в один поток элементов.

Основные способы объединения

Перед перечислением важно понимать: результатом всегда является один Stream.

1) Stream.concat

Подходит для объединения двух потоков.

Stream<Integer> stream =
    Stream.concat(list1.stream(), list2.stream());
  1. Плюс — простота

  2. Минус — только два источника

2) flatMap

Самый универсальный и популярный способ.

List<Integer> result = Stream.of(list1, list2)
    .flatMap(List::stream)
    .toList();
  1. Поддерживает любое число коллекций

  2. Хорошо масштабируется

3) Через добавление в один поток

  1. Несколько вызовов stream()

  2. Объединение через Stream.of

Когда что выбирать

  1. Две коллекции → Stream.concat

  2. Много коллекций → flatMap

Краткий вывод

flatMap — самый гибкий и читаемый способ объединения коллекций в Stream API.

Уровень

  • Рейтинг:

    4

  • Сложность:

    4

Навыки

  • Java

    Java

Ключевые слова

#stream

#api

Подпишись на Java Developer в телеграм