Sobes.tech
Назад к вопросам
Junior — Middle
65

Можете объяснить механизм работы метода flatMap в Stream API и когда его стоит использовать?

Компании, где спрашивали
Stroki

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

sobes.tech AI

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

В отличие от map, который преобразует элемент в один объект, flatMap позволяет из одного элемента получить несколько элементов (или вообще ни одного).

Пример использования:

List<String> phrases = List.of("Hello world", "Java streams");
List<String> words = phrases.stream()
    .flatMap(phrase -> Arrays.stream(phrase.split(" ")))
    .collect(Collectors.toList());
// words будет содержать: ["Hello", "world", "Java", "streams"]

Когда использовать flatMap:

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