Junior — Middle
111
Erklären Sie das Konzept der Methode flatMap in der Java Stream API und deren Unterschied zu map.
Unternehmen wurden gefragt
JSA Group
Antwort von AI
sobes.tech KI
Метод flatMap в Java Stream API используется для преобразования каждого элемента потока в другой поток, а затем объединяет ("сплющивает") все эти потоки в один единый поток. В отличие от map, который преобразует каждый элемент в один элемент другого типа, flatMap преобразует каждый элемент в поток элементов и объединяет их.
Пример:
List<String> words = Arrays.asList("hello", "world");
// map: преобразует каждое слово в массив символов, но результат - поток массивов
Stream<char[]> mapped = words.stream().map(word -> word.toCharArray());
// flatMap: преобразует каждое слово в поток символов и объединяет их в один поток символов
Stream<Character> flatMapped = words.stream()
.flatMap(word -> word.chars().mapToObj(c -> (char) c));
flatMapped.forEach(System.out::println);
Таким образом, flatMap полезен, когда из одного элемента нужно получить несколько элементов и работать с ними как с единым потоком.