list交集、差集、并集、去重并集
2024-09-16 21:04:02
// 交集
List<String> intersection = list1.stream().filter(item -> list2.contains(item)).collect(toList());
System.out.println("---得到交集 intersection---");
intersection.parallelStream().forEach(System.out :: println); // 差集 (list1 - list2)
List<String> reduce1 = list1.stream().filter(item -> !list2.contains(item)).collect(toList());
System.out.println("---得到差集 reduce1 (list1 - list2)---");
reduce1.parallelStream().forEach(System.out :: println); // 差集 (list2 - list1)
List<String> reduce2 = list2.stream().filter(item -> !list1.contains(item)).collect(toList());
System.out.println("---得到差集 reduce2 (list2 - list1)---");
reduce2.parallelStream().forEach(System.out :: println); // 并集
List<String> listAll = list1.parallelStream().collect(toList());
List<String> listAll2 = list2.parallelStream().collect(toList());
listAll.addAll(listAll2);
System.out.println("---得到并集 listAll---");
listAll.parallelStream().forEach(System.out :: println); // 去重并集
List<String> listAllDistinct = listAll.stream().distinct().collect(toList());
System.out.println("---得到去重并集 listAllDistinct---");
listAllDistinct.parallelStream().forEach(System.out :: println); System.out.println("---原来的List1---");
list1.parallelStream().forEach(System.out :: println);
System.out.println("---原来的List2---");
list2.parallelStream().forEach(System.out :: println);
最新文章
- Windows Server 2012 R2 里面如何安装Net Framework 3.5
- HDU 2955
- 九个uname命令获取Linux系统详情的实例
- Document Set 【一】
- rsync 推送
- ARM指令集学习总结-转载
- 【java API基本实现】ArrayList
- Robot Framework 学习笔记(二)-------第一个脚本
- 打包volley
- Chromium(Chrome) frame structure detail
- G - Intersecting Rectangles Kattis - intersectingrectangles (扫描线)(判断多个矩形相交)
- 比较安全的cookie验证登录设计方案
- C 栈实现队列节点的管理
- Windows server 2012 R2 解决“无法完成域加入,原因是试图加入的域的SID与本计算机的SID相同
- [k8s]k8s-ceph-statefulsets-storageclass-nfs 有状态应用布署实践
- Docker学习笔记之在开发环境中使用服务发现
- WGS84投影的WKID说明
- [Chrome Headless + Python] 截长图 (Take Full-page Screenshot)
- Moment.js 一款JS时间封装库
- 【Professional English】Words Summary