stream().flatMap()使用示例
时间: 2024-06-05 15:10:48 浏览: 66
Java8 Stream flatmap中间操作用法解析
5星 · 资源好评率100%
当我们需要将一个 Stream 中的每个元素的子元素映射到一个新的 Stream 上时,就可以使用 Stream 的 flatMap() 方法。具体来说,flatMap() 方法会将每个元素映射为一个 Stream,然后将所有的 Stream 连接起来形成一个新的 Stream。
以下是一个示例:
List<List<Integer>> list = Arrays.asList(
Arrays.asList(1, 2),
Arrays.asList(3, 4),
Arrays.asList(5, 6)
);
List<Integer> result = list.stream()
.flatMap(Collection::stream)
.collect(Collectors.toList());
在上面的代码中,我们首先定义了一个包含多个 List 的 List。然后我们使用 stream() 方法将其转换成 Stream。接着,我们调用 flatMap() 方法并传入 Collection::stream,该方法将每个 List 转换为一个 Stream,然后将所有的 Stream 连接起来形成一个新的 Stream。最后我们使用 collect() 方法将新的 Stream 转换为一个 List,得到的结果为 [1, 2, 3, 4, 5, 6]。
阅读全文