集合流之"交集(相同)和差集(区别的)"的使用
一.需求
今天做的是将两个字符串转为数组后再转集合,然后利用集合的流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)将两个集合合并”
集合流之"交集(相同)和差集(区别的)"的使用的更多相关文章
- 集合运算—union(并集)、intersect(交集)和except(差集)
一.集合运算的基本格式是: 集合查询1 <集合运算> 集合查询2 [order by ...] 二.集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐 ...
- List集合中的交集 并集和差集
目录 List集合求交集 并集 差集 Set集合 Lambda表达式 List集合求交集 并集 差集 两种方法求集 Set集合 交集 两个集合中有相同的元素 抽取出来的数据就是为交集 @Test pu ...
- Redis的高可用详解:Redis哨兵、复制、集群的设计原理,以及区别
谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制. 哨兵(Sentinel):可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能. ...
- Redis哨兵、复制、集群的设计原理,以及区别
广西SEO:谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制. **哨兵(Sentinel):**可以管理多个Redis服务器,它提供了监控,提醒以及自 ...
- 【MSP是什么】MSP认证之项目集与项目群的关系和区别
项目群和项目集都是一个意思,翻译时没有统一口径造成的.只要能与项目组合区别开就可以了. 项目集与项目群的区别,不在于那些项目自身,而在于管理者的思想,管理者对待项目的态度.项目集与项目群,首先都是多个 ...
- 说说单节点集群里安装hive、3\5节点集群里安装hive的诡异区别
这几天,无意之间,被这件事情给迷惑,不解!先暂时贴于此,以后再解决! 详细问题如下: 在hive的安装目录下(我这里是 /home/hadoop/app/hive-1.2.1),hive的安装目录的l ...
- SQLServer------聚集索引和非聚集索引的区别
转载: http://www.cnblogs.com/flashicp/archive/2007/05/08/739245.html 建立非聚集索引(vid不是主键) create index idx ...
- JAVA8新特性--集合流操作Stream
原文链接:https://blog.csdn.net/bluuusea/article/details/79967039 Stream类全路径为:java.util.stream.Stream 对St ...
- List集合流处理类型小结
本文为博主原创,未经允许不得转载 对应实体类 import lombok.Getter; import lombok.Setter; @Getter @Setter public class Stud ...
随机推荐
- C#内联函数 特性 MethodImplOptions.AggressiveInlining)
[MethodImpl(MethodImplOptions.AggressiveInlining)] 内联函数 Impl:implement的缩写 内联函数 在计算机科学中,内联函数(有时称作在线函数 ...
- PyTorch 中 torch.matmul() 函数的文档详解
官方文档 torch.matmul() 函数几乎可以用于所有矩阵/向量相乘的情况,其乘法规则视参与乘法的两个张量的维度而定. 关于 PyTorch 中的其他乘法函数可以看这篇博文,有助于下面各种乘法的 ...
- 记一次加密的ts视频下载
想要下载一个视频,但是网站上不能直接下载.试过IDM,以及Streaming Video Recorder 都不行.因为视频被加密了. ts 是分片的视频文件,m3u8 是播放索引列表(还可配置其他参 ...
- selenium+python自动化104-如何获取隐藏元素text文本
前言 首先 selenium 是可以定位到隐藏元素的,但是 selenium 不能跟隐藏元素交互,也就是隐藏元素element不能使用element.click()方法. 隐藏元素element.te ...
- 控制台console不打印信息的解决办法
一直用控制台调试,突然不知道怎么回事看不到控制台输出的信息了: 需要检查下面几方面的问题: 1:我的就属于第一个问题,不知道怎么搜索的时候就改变了Filter; 2:确保以上选项是勾选的 3:点击设置 ...
- 操作Jexus
jws.start等命令在Jexus V5.6.3中已经合并为一个单一命令,即"jws",这是一个shell脚本文件. 命令参数与对应的功效: jws start : 启动Jexu ...
- Linux安装Mysql8.0及SQL分类的补充
Linux安装Mysql8.0 参考文章:https://blog.csdn.net/qq_38570633/article/details/109257430 参考文献:https://blog.c ...
- Python:pyglet学习(2)图形的旋转&batch
这次讲讲图形的旋转和批量渲染(rotate.batch) 1:图形旋转 先看看上次的代码中的一段: glRotatef(rot_y, 0, 1, 0) glRotatef(rot_z,0,0,1) g ...
- Java UDP 编程
1.客户端代码 1 import java.io.IOException; 2 import java.net.DatagramPacket; 3 import java.net.DatagramSo ...
- 深入了解ReentrantLock中的公平锁和非公平锁的加锁机制
ReentrantLock和synchronized一样都是实现线程同步,但是像比synchronized它更加灵活.强大.增加了轮询.超时.中断等高级功能,可以更加精细化的控制线程同步,它是基于AQ ...