Какие изменения возникают при преобразовании коллекций с помощью метода flatMap?

Метод flatMap в Java используется для преобразования элементов коллекции, где каждый элемент может быть преобразован в другую коллекцию, а затем все эти вложенные коллекции объединяются в один плоский поток (stream).

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

Что ответить на собеседовании

Метод flatMap в Java используется для преобразования элементов коллекции, где каждый элемент может быть преобразован в другую коллекцию, а затем все эти вложенные коллекции объединяются в один плоский поток (stream). В результате происходит "выравнивание" вложенных коллекций в одну последовательность.

Подробный разбор

Ответ с пояснениями

Метод flatMap в Java используется для преобразования элементов коллекции, где каждый элемент может быть преобразован в другую коллекцию, а затем все эти вложенные коллекции объединяются в один плоский поток (stream). В результате происходит "выравнивание" вложенных коллекций в одну последовательность.

Например, если у вас есть список списков, flatMap позволяет получить один список всех элементов из всех вложенных списков.

Пример:

List<List<String>> listOfLists = Arrays.asList(
    Arrays.asList("a", "b"),
    Arrays.asList("c", "d")
);

List<String> flatList = listOfLists.stream()
    .flatMap(Collection::stream)
    .collect(Collectors.toList());

// flatList будет содержать: ["a", "b", "c", "d"]

Таким образом, flatMap изменяет структуру данных, "расплющивая" вложенные коллекции в одну последовательность, что удобно для дальнейшей обработки.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее