list.stream.flatMap
时间: 2023-11-01 11:56:05 浏览: 170
flatMap()方法是Stream API中的一个方法,它的作用是将多个流合并成一个流。通过flatMap()方法,我们可以将一个包含多个子集合的流合并成一个包含所有元素的流。
在使用flatMap()方法时,我们可以结合其他的API进行过滤或转换操作。例如,使用filter()方法可以过滤掉不满足条件的元素,使用map()方法可以对元素进行转换操作。
下面是一个使用flatMap()方法的示例代码:
```java
List<List<Integer>> lists = new ArrayList<>();
List<Integer> arrayList = new ArrayList<>();
arrayList.add(1);
arrayList.add(3);
arrayList.add(22);
arrayList.add(11);
arrayList.add(44);
arrayList.add(null);
arrayList.add(4);
lists.add(arrayList);
List<Integer> arrayList2 = JSON.parseArray(JSON.toJSONString(arrayList), Integer.class);
arrayList2.add(55);
lists.add(arrayList2);
List<Integer> arrayList3 = JSON.parseArray(JSON.toJSONString(arrayList), Integer.class);
arrayList3.add(99);
arrayList3.add(-2);
lists.add(arrayList3);
List<Integer> collect = lists.stream()
.flatMap(item -> item.stream().filter(Objects::nonNull))
.collect(Collectors.toList());
System.out.println(collect);
```
这段代码将一个包含多个子集合的lists流使用flatMap()方法合并成一个包含所有元素的流,并且过滤掉了null元素。最后的输出结果是:[1, 3, 22, 11, 44, 4, 1, 3, 22, 11, 44, 4, 55, 1, 3, 22, 11, 44, 4, 99, -2]。
阅读全文
相关推荐


















