Sobes.tech
Junior — Middle
66

Что происходит на выходе при использовании метода flatMap для преобразования коллекции объектов?

Ответ от нейросети

sobes.tech AI

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

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

Пример:

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

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

System.out.println(flatList); // [a, b, c, d, e]

Здесь flatMap преобразует каждый вложенный список в поток элементов, а затем объединяет их в один поток, который собирается в итоговый список.