一.需求

今天做的是将两个字符串转为数组后再转集合,然后利用集合的流stream来进行差集过滤

二.差集代码

差集:将两个集合相同的数据去掉,留下不同的数据

 1 @Test
2 public void wzwcs()
3 {
4 // 字符串1
5 String strOne = "123,1234";
6 // 字符串2
7 String strTow = "123,1234,12345";
8 // 已逗号分隔转为数组1
9 String[] splitOne = strOne.split(",");
10 // 已逗号分隔转为数组2
11 String[] splitTow = strTow.split(",");
12 // 将数组转为集合1
13 List<String> listOne = Arrays.asList(splitOne);
14 // 将数组转为集合2
15 List<String> listTow = Arrays.asList(splitTow);
16 // 直接写集合流将 集合2 流化,过滤(集合2的各个值->集合1.非包含(集合2的各个值)).转为set集合
17 Set <String> result = listTow.stream().filter(e->!listOne.contains(e)).collect(Collectors.toSet());
18 // 遍历差集
19 for (String s : result)
20 {
21 // 打印
22 System.out.println("result.toString() = " + s);
23 }
24 }

三.交集代码

交集:将相同的代码留下

交集代码其实就非包含变为包含

 1 @Test
2 public void wzwcs()
3 {
4 // 字符串1
5 String strOne = "123,1234";
6 // 字符串2
7 String strTow = "123,1234,12345";
8 // 已逗号分隔转为数组1
9 String[] splitOne = strOne.split(",");
10 // 已逗号分隔转为数组2
11 String[] splitTow = strTow.split(",");
12 // 将数组转为集合1
13 List<String> listOne = Arrays.asList(splitOne);
14 // 将数组转为集合2
15 List<String> listTow = Arrays.asList(splitTow);
16 // 直接写集合流将 集合2 流化,过滤(集合2的各个值->集合1.包含(集合2的各个值)).转为set集合
17 Set <String> result = listTow.stream().filter(e->listOne.contains(e)).collect(Collectors.toSet());
18 // 遍历交集
19 for (String s : result)
20 {
21 // 打印
22 System.out.println("result.toString() = " + s);
23 }
24 }

四. 规范之“用流中的Stream.Of(arr1,arr2)将两个集合合并”

集合流之"交集(相同)和差集(区别的)"的使用的更多相关文章

  1. 集合运算—union(并集)、intersect(交集)和except(差集)

    一.集合运算的基本格式是: 集合查询1 <集合运算> 集合查询2 [order by ...] 二.集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐 ...

  2. List集合中的交集 并集和差集

    目录 List集合求交集 并集 差集 Set集合 Lambda表达式 List集合求交集 并集 差集 两种方法求集 Set集合 交集 两个集合中有相同的元素 抽取出来的数据就是为交集 @Test pu ...

  3. Redis的高可用详解:Redis哨兵、复制、集群的设计原理,以及区别

    谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制. 哨兵(Sentinel):可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能. ...

  4. Redis哨兵、复制、集群的设计原理,以及区别

    广西SEO:谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制. **哨兵(Sentinel):**可以管理多个Redis服务器,它提供了监控,提醒以及自 ...

  5. 【MSP是什么】MSP认证之项目集与项目群的关系和区别

    项目群和项目集都是一个意思,翻译时没有统一口径造成的.只要能与项目组合区别开就可以了. 项目集与项目群的区别,不在于那些项目自身,而在于管理者的思想,管理者对待项目的态度.项目集与项目群,首先都是多个 ...

  6. 说说单节点集群里安装hive、3\5节点集群里安装hive的诡异区别

    这几天,无意之间,被这件事情给迷惑,不解!先暂时贴于此,以后再解决! 详细问题如下: 在hive的安装目录下(我这里是 /home/hadoop/app/hive-1.2.1),hive的安装目录的l ...

  7. SQLServer------聚集索引和非聚集索引的区别

    转载: http://www.cnblogs.com/flashicp/archive/2007/05/08/739245.html 建立非聚集索引(vid不是主键) create index idx ...

  8. JAVA8新特性--集合流操作Stream

    原文链接:https://blog.csdn.net/bluuusea/article/details/79967039 Stream类全路径为:java.util.stream.Stream 对St ...

  9. List集合流处理类型小结

    本文为博主原创,未经允许不得转载 对应实体类 import lombok.Getter; import lombok.Setter; @Getter @Setter public class Stud ...

随机推荐

  1. 【windows 操作系统】线程句柄HANDLE与线程ID的关系

    什么是句柄 句柄是一种指向指针的指针.我们知道,所谓指针是一种内存地址.应用程序启动后,组成这个程序的各对象是住留在内存的.如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址访 ...

  2. 【C#基础概念】虚方法virtual

    目录: 一.虚方法的概念 二.虚方法的特点 三.虚方法的作用 四.虚方法的声明 五.虚方法的执行 六.虚拟类的规则 一.虚方法的概念 在C#中,虚方法就是可以被子类重写的方法,如果子类重写了虚方法,则 ...

  3. Qt:QList、QStringList

    QList 0.说明 QList<T> 一个QList是存储相同类型一组数据的列表. QStringList是从QList<String>继承而来,并添加了一些好用的方法,如j ...

  4. WIN10:字体文件路径

    比如编程时要用到Arial字体,Arial的字体绝对路径为 C:\Windows\Fonts\Arial.ttf 注意字体文件的后缀都是ttf

  5. (二)目标检测算法之R-CNN

    系列博客链接: (一)目标检测概述 https://www.cnblogs.com/kongweisi/p/10894415.html 概述: 1.目标检测-Overfeat模型 2.目标检测-R-C ...

  6. 非关系型数据库redis

    Redis初始 redis中不区分字母的大小写 查看端口 ss tnlp 安装 编译安装(需要先配置epel源) yum install -y redis 编译安装 wget https://down ...

  7. 别再问WiFi密码了,HMS Core统一扫码服务让手机一键联网

    现代生活离不开网络.在餐厅.商场等公共场所,手机连接WiFi一直是高频使用场景.虽然公共场所的免费WiFi越来越多,但网络连接过程却很麻烦.有的需要打开网页注册或点击广告链接才能上网,还有的要求下载特 ...

  8. Jmeter-根据负载计算并发用户实际案例

    业务场景 假设公司领导现在给你分配了一个性能测试需求如下: 1:公司有1000人在上班时间段会登录平台进行打卡操作,可能会登录打卡多次2:业务高峰时间段在8:00-8:30,半小时3:需要保证90%用 ...

  9. 『现学现忘』Docker基础 — 28、Docker容器数据卷介绍

    目录 1.什么是Docker容器数据卷 2.数据卷的作用 3.数据卷的使用 1.什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷). 当Docker容器运行的时候 ...

  10. Linux下编译安装mysql数据库服务

    以下是用putty工具远程登录到服务器,在命令行下面操作: Cmake工具下载地址:http://ftp.lfs-matrix.net/pub/blfs/conglomeration/cmake/ M ...