Stream集合操作

flatMap

1.List交集

List<AClass> intersectResult = aClassList1.stream().filter(aClassList2::contains).collect(Collectors.toList());

 

2.List并集

List<AClass> unionResult = Stream.of(aClassList1, aClassList2).flatMap(Collection::stream).distinct().collect(Collectors.toList());

 

3.差集

List<AClass> differenceResult = aClassList1.stream().filter(x -> !aClassList2.contains(x)).collect(Collectors.toList());

 

4.合并多个list

List<AClass> aClassListResult = map.values().stream().flatMap(listContainer -> listContainer.getLst().stream()).collect(Collectors.toList());

 

posted on 2021-03-04 20:18  Flower2021  阅读(167)  评论(0编辑  收藏  举报