flatMap(Collection::stream)
时间: 2023-07-24 18:27:47 浏览: 121
collectionJava源码-stream_again:演示源代码,以了解有关Java8StreamAPI的更多信息,以用于Collect
这是Java 8中Stream API的一个常用操作,它的作用是将一个集合中的所有元素合并成一个流。具体来说,它会对集合中的每个元素调用一个函数(在这里是 `Collection::stream`),将函数的返回值(一个流)合并成一个新的流并返回。
例如,假设有一个包含若干个列表的列表,我们想将它们中的所有元素合并成一个流,可以使用 `flatMap` 操作。具体代码如下:
```
List<List<Integer>> lists = Arrays.asList(
Arrays.asList(1, 2, 3),
Arrays.asList(4, 5, 6),
Arrays.asList(7, 8, 9)
);
Stream<Integer> stream = lists.stream().flatMap(Collection::stream);
```
这里,我们首先创建了一个包含三个列表的列表,然后使用 `stream` 方法将其转换为流,接着使用 `flatMap(Collection::stream)` 将它们中的所有元素合并成一个新的流。最终的结果是一个包含 1 到 9 的整数流。
阅读全文