stream流中的flatmap方法是什么意思?
时间: 2024-05-07 22:22:42 浏览: 84
浅谈java8 stream flatMap流的扁平化操作
在Java 8中,Stream API提供了flatMap()方法。该方法接受一个函数作为参数,该函数将流中的每个元素映射为一个新流,然后将这些新流平坦化为一个单一的流。简单来说,flatMap()方法可以将嵌套的流转换为单个流。
例如,假设我们有一个存储了多个字符串数组的List,我们可以使用flatMap()方法将它们转换为单个字符串流:
```
List<String[]> stringArrays = Arrays.asList(new String[]{"hello", "world"}, new String[]{"goodbye", "world"});
Stream<String> stringStream = stringArrays.stream().flatMap(Arrays::stream);
```
在这个例子中,我们将List中的每个字符串数组转换为一个单独的字符串流,然后使用flatMap()方法将它们合并成一个单一的字符串流。结果是包含所有字符串的单一流。
需要注意的是,flatMap()方法的返回值是一个Stream对象,因此可以继续进行其他操作,例如过滤、排序等。
阅读全文