Назад к вопросам
Junior — Middle
65
Можешь показать пример применения метода flatMap в Stream API для обработки коллекций?
Компании, где спрашивали
Тетрасофт
Ответ от нейросети
sobes.tech AI
Метод flatMap в Stream API используется для преобразования каждого элемента потока в другой поток и последующего объединения всех этих потоков в один.
Это полезно, когда у вас есть коллекция коллекций, и вы хотите получить один плоский поток всех элементов.
Пример: есть список списков строк, нужно получить один список всех строк:
import java.util.*;
import java.util.stream.*;
public class FlatMapExample {
public static void main(String[] args) {
List<List<String>> listOfLists = Arrays.asList(
Arrays.asList("apple", "banana"),
Arrays.asList("orange", "pear"),
Arrays.asList("grape")
);
List<String> flatList = listOfLists.stream()
.flatMap(Collection::stream) // преобразуем каждый внутренний список в поток и объединяем
.collect(Collectors.toList());
System.out.println(flatList); // [apple, banana, orange, pear, grape]
}
}
Здесь flatMap раскрывает вложенные списки в один поток элементов.