Встречается на 2% собеседований по Java

Приведи пример использования flatMap в Stream API

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

Пример:

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

List<String> flatList = nestedList.stream()
.flatMap(Collection::stream)
.collect(Collectors.toList());
// Результат: [a, b, c, d]

text

Другой пример - разбиение строк на слова:
```java
List<String> lines = Arrays.asList("Hello world", "Java 8 Streams");
List<String> words = lines.stream()
    .flatMap(line -> Arrays.stream(line.split(" ")))
    .collect(Collectors.toList());
// Результат: [Hello, world, Java, 8, Streams]

flatMap особенно полезен при работе с Optional:

java
Optional<String> optional = Optional.of("value");
Optional<Integer> result = optional
    .flatMap(s -> Optional.of(s.length()));
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы