[Java] flatMap是什么意思?

在公式文件中

流的flatMap方法将每个元素映射成一个流,并将这些流合并成一个流。

返回一个由用mapping函数应用在每个元素上得到的映射流(将该流的每个元素替换为映射流的内容)所组成的流。

流(Java平台SE 8)

总之

以下是以以下步骤进行处理的:

1. 接收来自 Stream 的对象并转换为 Stream。
2. 将转换后的每个 Stream 合并为一个 Stream。

以下的例子可以用母语中文来解释。

输出为 abcde.


Arrays.asList("a,b,c", "d,e")
    .flatMap(str -> Arrays.stream(str.split(','))
    .forEach(str -> System.out.print(str));

如果是由双重列表(Stream<List<List>)创建的流,那么映射函数的参数(在上面的例子中是str)可以是列表,但不限于列表。

广告
将在 10 秒后关闭
bannerAds