List集合中的交集 并集和差集
List集合求交集 并集 差集
两种方法求集
Set集合
交集 两个集合中有相同的元素 抽取出来的数据就是为交集
@Test
public void testSet1(){
Set<String> set1 = new HashSet<>();
Set<String> set2 = new HashSet<>();
set1.add("a");
set1.add("b");
set1.add("c");
set2.add("c");
set2.add("d");
set2.add("e");
// 交集
set1.retainAll(set2);
System.out.println("交集是" + set1); // 交集是 c
}
并集 两个集合中去掉重复的数据就是并集
@Test
public void testSet2(){
Set<String> set1 = new HashSet<>();
Set<String> set2 = new HashSet<>();
set1.add("a");
set1.add("b");
set1.add("c");
set2.add("c");
set2.add("d");
set2.add("e");
// 并集
set1.addAll(set2);
System.out.println("并集是" + set1); // 并集是[a b c d e]
}
差集 第一个集合中的数据在第二个集合中有重复时,去掉重复数据的第一个集合就是差集
@Test
public void testSet3(){
Set<String> set1 = new HashSet<>();
Set<String> set2 = new HashSet<>();
set1.add("a");
set1.add("b");
set1.add("c");
set2.add("c");
set2.add("b");
set2.add("e");
// 差集
set1.removeAll(set2);
System.out.println("差集是" + set1); // 差集是 a b 去掉set1中属于set2的元素
}
Java8最大的亮点就是lambda表达式
Lambda表达式
@Test
public void test1(){
List<Integer> list1 = new ArrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
List<Integer> list2 = new ArrayList<>();
list2.add(3);
list2.add(4);
list2.add(5);
System.out.println("==========求交集==========");
List<Integer> list = list1.stream().filter(t->list2.contains(t)).collect(Collectors.toList());
list.stream().forEach(System.out::println);
System.out.println("==========求差集==========");
list = list1.stream().filter(t-> !list2.contains(t)).collect(Collectors.toList());
list.stream().forEach(System.out::println);
System.out.println("==========求并集==========");
list.addAll(list1);
list.addAll(list2);
list = list.stream().distinct().collect(Collectors.toList());
list.stream().forEach(System.out::println);
}
List集合中的交集 并集和差集的更多相关文章
- Java中多个集合的交集,并集和差集
一.交集 java中交集使用 A.retainAll(B) ,交集的结果在集合A中. import org.junit.Test; import java.util.HashSet; import j ...
- Sql Server中集合的操作(并集、差集、交集)学习
首先我们做一下测试数据 1.创建测试数据 --创建人员表1-- create table Person1 ( Uid ,) primary key, Name ) not null ) --创建人员表 ...
- python中对两个 list 求交集,并集和差集
python中对两个 list 求交集,并集和差集: 1.首先是较为浅白的做法: >>> a=[1,2,3,4,5,6,7,8,9,10] >>> b=[1,2,3 ...
- 【Sets】使用Google Guava工程中Sets工具包,实现集合的并集/交集/补集/差集
获取两个txt文档的内容~存储进集合中求集合的并集/交集/补集/差集 package com.sxd.readLines.aboutDB; import java.io.BufferedReader; ...
- sql 查询 一张表里面的数据 在另一张表中是否存在 和 比对两个集合中的差集和交集(原创)
这两天在搞一个修复的小功能 需求: A表,B表,C表,日志文件 先筛选出A表和B表中都符合条件的数据,然后检查这些数据在C表中是否存在.如果不存在,就从日志中读取数据,存入C表中,如果存在,则不做操作 ...
- 集合运算—union(并集)、intersect(交集)和except(差集)
一.集合运算的基本格式是: 集合查询1 <集合运算> 集合查询2 [order by ...] 二.集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐 ...
- python 集合比较(交集、并集,差集)集合方法大全
python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...
- python 集合比较(交集、并集,差集)
python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...
- python集合set,交集,并集,差集,对称差集,子集和超集
python集合set,交集,并集,差集,对称差集,子集和超集 x = {1, 2, 3, 4} y = {2, 4, 5, 6} # 交集(取x中与y中相同部分) print(x.intersect ...
随机推荐
- ES-Next & ECMAScript 2019
ES-Next & ECMAScript 2019 Data Types 8 种 js 基本数据类型 8 zhon The latest ECMAScript standard defines ...
- react UI 框架对比
传送门 https://blog.csdn.net/qiqingjin/article/details/79219206 点击
- 揭秘高倍矿币 Baccarat BGV,为何NGK DeFi的财富效应如此神奇?
作为区块链4.0代表的NGK公链,这次也将借助它自己的DeFi版块NGK Baccarat,开启属于它自己的千倍财富之旅. 如果说,比特币能让没有银行账户的人,可以在全球任何时间.地点都能自由进行交易 ...
- Android 比较好看的注册登录界面
各位看官姥爷: 对于一款android手机app而言,美观的界面使得用户有好的使用体验,而一款好看的注册登录界面也会给用户好的用户体验,那么话不多说,直接上代码 首先是一款简单的界面展示 1.登陆界面 ...
- RecycleView 点击事件监听
1.定义RecycleView 监听接口类 1 package com.example.*****; 2 3 import android.view.View; 4 5 public interfac ...
- HQYJ嵌入式学习笔记——C语言复习day2
1.计算机的数值表示 数值类型和非数值类型 二进制 0,1 (0b1001) 八进制 0~7 (0146) 十进制 0~9 十六进制 0~f (0x3f) 八进制转二进制-->一位八进制数换 ...
- Java基础语法:标识符
Java所有的组成部分都需要名字. 类名.变量名 以及方法名 都被称为标识符. 一.规则 Ⅰ.首字符 规则:所有的标识符都应该以字母(A-Z 或者 a-z).美元符($).下划线(_)开始. 示例:t ...
- Java文件字节流
//输出和输入流 package com.kangkang.IO; import com.sun.xml.internal.ws.util.xml.CDATA; import java.io.File ...
- 力扣119. 杨辉三角 II
原题 1 class Solution: 2 def getRow(self, rowIndex: int) -> List[int]: 3 ans = [1] 4 for i in range ...
- 痞子衡嵌入式:FlexSPI复位方式不当会导致i.MXRT系列下OTFAD加密启动失败
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是FlexSPI复位方式不当会导致i.MXRT系列下OTFAD加密启动失败问题. 本篇是<系统时钟配置不当会导致i.MXRT1xxx ...