第一种:字符串测试案例

public class Mainss {public static void main(String[] args) {List<String> list1 = new ArrayList<String>();list1.add("1");list1.add("2");list1.add("3");list1.add("5");list1.add("6");List<String> list2 = new ArrayList<String>();list2.add("2");list2.add("3");list2.add("7");list2.add("8");// 交集 1和2共同拥有的List<String> intersection = list1.stream().filter(item -> list2.contains(item)).collect(Collectors.toList());System.out.println("---交集 intersection---");intersection.parallelStream().forEach(System.out :: println);// 差集 (list1 - list2) 1-list有的  2-list没有List<String> reduce1 = list1.stream().filter(item -> !list2.contains(item)).collect(Collectors.toList());System.out.println("---差集 reduce1 (list1 - list2)---");reduce1.parallelStream().forEach(System.out :: println);// 差集 (list2 - list1) 2-list有的  1-list没有List<String> reduce2 = list2.stream().filter(item -> !list1.contains(item)).collect(Collectors.toList());System.out.println("---差集 reduce2 (list2 - list1)---");reduce2.parallelStream().forEach(System.out :: println);// 并集List<String> listAll = list1.parallelStream().collect(Collectors.toList());List<String> listAll2 = list2.parallelStream().collect(Collectors.toList());listAll.addAll(listAll2);// 去重并集List<String> listAllDistinct = listAll.stream().distinct().collect(Collectors.toList());System.out.println("---得到去重并集 listAllDistinct---");for (String key:listAllDistinct) {System.out.println(key);}}
}

打印结果:

---交集 intersection---
3
2
---差集 reduce1 (list1 - list2)---
5
6
1
---差集 reduce2 (list2 - list1)---
8
7
---得到去重并集 listAllDistinct---
1
2
3
5
6
7
8

第二种:对象测试案例

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;public class bingjitest {public static void main(String[] args) {List<Room> pollList = new ArrayList<Room>();for (int i = 2; i < 9; i++) {if(i==3 || i==6 || i==7){continue;}Room room=new Room();room.setId("1000"+i);room.setName("海淀支队-"+i);pollList.add(room);}for (Room member:pollList) {System.out.println("轮询的会场:"+member.getName());}System.out.println("================================================================");List<Room> onlineList = new ArrayList<Room>();for (int i = 1; i < 10; i++) {if(i==4 || i==5 ){continue;}Room room=new Room();room.setId("1000"+i);room.setName("海淀支队-"+i);onlineList.add(room);}for (Room room:onlineList) {System.out.println("在线会场:"+room.getName());}System.out.println("================================================================");List<Room> intersectionList = pollList.stream().filter(a->onlineList.stream().map(b-> b.getName()).collect(Collectors.toList()).contains(a.getName())).collect(Collectors.toList());for (Room room:intersectionList) {System.out.println("会场:"+room.getName());}System.out.println("两个List交集:"+intersectionList.size());System.out.println("================================================================");// 差集 (onlineList - pollList) 2-onlineList有的  1-pollList没有的List<Room> differenceSetBList = onlineList.stream().filter(b->!pollList.stream().map(a-> a.getName()).collect(Collectors.toList()).contains(b.getName())).collect(Collectors.toList());for (Room room:differenceSetBList) {System.out.println("会场:"+room.getName());}System.out.println("差集 (onlineList - pollList):"+differenceSetBList.size());System.out.println("================================================================");}
}

打印结果:

轮询的会场:海淀支队-2
轮询的会场:海淀支队-4
轮询的会场:海淀支队-5
轮询的会场:海淀支队-8
================================================================
在线会场:海淀支队-1
在线会场:海淀支队-2
在线会场:海淀支队-3
在线会场:海淀支队-6
在线会场:海淀支队-7
在线会场:海淀支队-8
在线会场:海淀支队-9
================================================================
会场:海淀支队-2
会场:海淀支队-8
两个List交集:2
================================================================
会场:海淀支队-1
会场:海淀支队-3
会场:海淀支队-6
会场:海淀支队-7
会场:海淀支队-9
差集 (onlineList - pollList):5
================================================================

roommodel:

public class Room {private String   id;private String name;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "Room{" +"id='" + id + '\'' +", name='" + name + '\'' +'}';}
}

java实现获取两个list交集,并集相关推荐

  1. java实现获取两个list交集

    如何获取两个list的交集,使用java8 的stream实现非常容易. java流实现 创建两个字符串list,两者都有重复的元素: List<String> list = Arrays ...

  2. java 集合,实现获取两个list交集,并集,差集

    java 集合,实现获取两个list交集,并集,差集 public static void main(String[] args) {List<String> list1 = new Ar ...

  3. java:获取两个日期相隔天数

    java:获取两个日期相隔天数 1 LocalDateTime使用 package com.xiaoxu.tool.demo;import org.springframework.lang.NonNu ...

  4. java 截取指定字母 重复_用JAVA编程获取两个指定字符串中的最大相同子串

    /** * 编程获取两个指定字符串中的最大相同子串 * 如:str1="asdafghjka", str2="aaasdfg" 他们的最大子串为"as ...

  5. pandas对dataframe的两列取交集并集

    输入:一个dataFrame,其中的两列是集合. 输出:对两列合并成新的一列,内容为两列的交集. 举个例子 我想得到的结果为 代码如下: pd.Series([set.intersection(*z) ...

  6. 在Java中获取两个数的中间值(超大数值)

    //获取两个数的中间值(超大数值) public class MidValue {public static void main(String[] args) {method1();//两数相加后除二 ...

  7. java 返回两个集合_使用 java stream 获取两个集合之间的交集.差集

    原始对象 List hrProbationMainList =new ArrayList(); List hrProbationMains = probationMainDao.findAll(); ...

  8. java 两个list 交集 并集 差集 去重复并集

    去重并集 例如:求List1和List2的并集,并实现去重. 思路是:先将list中与list2重复的去掉,之后将list2的元素全部添加进去. public static void test1(Li ...

  9. JAVA取数两个数组交集,考虑重复和不重复元素

    1.考虑不重复元素,重复元素不添加 import java.awt.List; import java.util.ArrayList; import java.util.TreeSet; public ...

最新文章

  1. 通信产业5G迭代,万亿机遇一触即发
  2. python脚本实例手机端-用Python实现自动化操作Android手机
  3. .NET跨平台之旅:博问站点迁移至ASP.NET Core on Linux并发布上线
  4. pat 乙级 1002 写出这个数(C++)
  5. 探秘亚洲最大单体智慧农园:探索改变农民“靠天吃饭”的农作模式
  6. php区分全角半角字符,php如何判断是字符串全角还是半角
  7. flutter图片预览_flutter - 图片预览放大滑动(photo_view)
  8. oracle零碎要点---oracle em的web访问地址忘了
  9. sqlite排序规则
  10. 容器 10 年,Docker 6 年
  11. 如何加密 Ubuntu 安装后的主文件夹
  12. 图像处理三:图像变形forward warping和inverse warping
  13. poj 1753 Flip Game (高斯消元 + 枚举 自由变量)
  14. Zipkin-1.19.0学习系列2:Nodejs范例(Client Send,Client Receive))
  15. MySQL和Navicat for MySQL下载及安装详细教程
  16. catia中的螺旋伞齿轮画法_使用CATIA绘制斜齿轮(直齿轮)得画法教程.doc
  17. 跳转指令JMP(04)和跳转结束指令JME(05)
  18. 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
  19. 社会排斥范式:通过Cyberball游戏来探索其中的机制
  20. 车牌首字母对应省份代码

热门文章

  1. 让我们来做一个属于自己的浏览器主页吧!
  2. Multicast :: 组播学习笔记
  3. Multicast Routing
  4. 严嵩:是奸臣 也是家具收藏大咖
  5. Apollo路径规划学习
  6. Nginx 指定域名跨域请求宝塔配置
  7. EasyNVR内网摄像机接入网关+EasyNVS云端管理平台,组件起一套轻量级类似于企业级萤石云的解决方案
  8. 电脑突然没有声音的解决方法
  9. 红米note2_标注2015052_官方线刷包_救砖包_解账户锁
  10. (二)json之组装json数据