java flatmap的详细使用
时间: 2023-11-29 09:16:46 浏览: 66
Java 8 中的 FlatMap 是一个常用的函数式编程操作,可以将多个 Stream 合并成一个 Stream。它的作用是将多层嵌套的集合扁平化为一个集合,这样便于后续的操作。
FlatMap 方法接收一个函数作为参数,这个函数将原先的一个元素转换成一个 Stream,最后将多个 Stream 合并成一个 Stream。
示例代码:
```java
List<List<String>> list = Arrays.asList(Arrays.asList("a", "b"), Arrays.asList("c", "d"));
List<String> flatList = list.stream()
.flatMap(Collection::stream)
.collect(Collectors.toList());
System.out.println(flatList); // [a, b, c, d]
```
上面这个例子中,我们有一个包含两个列表的列表。我们使用 flatMap 方法将这两个列表合并成一个列表。
flatMap 的参数是一个函数,这个函数接受一个元素,返回一个 Stream,这个函数的实现是 `Collection::stream`。这个函数将传入的集合转换成一个 Stream。
最后,我们使用 collect 方法将这个 Stream 转换成一个列表。
总结一下,FlatMap 的作用是将多个 Stream 合并成一个 Stream,从而便于后续的操作。可以用于将多层嵌套的集合扁平化为一个集合。
阅读全文