Sobes.tech
Junior — Middle
135

V jakých případech by měla být metoda flatMap použita při zpracování kolekcí?

Společnosti byly požádány
СБЕРСБЕР

Odpověď od AI

sobes.tech AI

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

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

Пример:

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

List<String> flatList = listOfLists.stream()
    .flatMap(Collection::stream) // превращаем Stream<List<String>> в Stream<String>
    .collect(Collectors.toList());

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

Таким образом, flatMap помогает "развернуть" вложенные структуры и работать с элементами как с одним потоком.