Mapping
Из исходного потока каждый элемент проходит через функцию, которая возвращает новый поток.
Это отличается от map(), так как здесь функция возвращает потоки, а не отдельные значения.
Flattening
Поскольку на предыдущем шаге мы получили несколько потоков, этот шаг просто объединяет их в один поток.
Синтаксис и параметры для flatMap():
<R> Stream<R> flatMap(Function<? super T, ? extends Stream<? extends R>> mapper)
> R — тип элементов в результирующем потоке.
> T — тип элементов во входном потоке.
> mapper — функция, которая преобразует элемент типа T во входном потоке в поток элементов типа R.
👉 Java Portal
