stream flatmap
时间: 2023-09-06 16:10:01 浏览: 101
stream flatmap是一种在流处理中常用的操作。它用于将一个流中的每个元素映射为零个或多个元素,并将这些元素组合成一个新的流。
在Java中,我们可以使用Stream API中的flatMap()方法来进行这个操作。它接收一个函数作为参数,该函数将每个元素映射为一个流,然后将这些流合并成一个单一的流。
例如,假设我们有一个包含多个单词的流,我们可以使用flatMap()方法将每个单词拆分为字符,并将所有字符组合成一个新的字符流。
下面是一个示例代码:
```java
List<String> words = Arrays.asList("Hello", "World");
List<String> letters = words.stream()
.flatMap(word -> Arrays.stream(word.split("")))
.collect(Collectors.toList());
System.out.println(letters); // 输出:[H, e, l, l, o, W, o, r, l, d]
```
在这个例子中,我们首先创建了一个包含两个单词的列表。然后,我们使用stream()方法将列表转换为流,并使用flatMap()方法将每个单词拆分为字符流。最后,我们使用collect()方法将字符流收集到一个列表中,并打印出结果。
总之,stream flatmap是一种非常有用的操作,可用于在流处理中对元素进行映射和合并操作。
阅读全文