Java中多个集合的交集,并集和差集
2024-08-21 04:34:39
一、交集
java中交集使用 A.retainAll(B) ,交集的结果在集合A中。
import org.junit.Test; import java.util.HashSet;
import java.util.Set; /**
* 交集
*
* @author zhongtao on 2018/5/30
*/
public class Intersection {
/**
* 测试简单交集
*/
@Test
public void testSet() {
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]
}
}
二、并集
并集使用addAll,A.addAll(B) 因为set本身就去重,所有直接全部添加到一个集合中取并集。
import org.junit.Test; import java.util.HashSet;
import java.util.Set; /**
* 并集
*
* @author zhongtao on 2018/5/31
*/
public class UnionSet {
/**
* 并集测试
*/
@Test
public void testUnionSet() {
Set<String> set1 = new HashSet<>();
Set<String> set2 = new HashSet<>(); set1.add("a");
set1.add("b");
set1.add("c"); set2.add("b");
set2.add("c");
set2.add("d"); set1.addAll(set2);
System.out.println("并集是" + set1); //并集是[a, b, c, d]
}
}
三、差集
差集使用removeAll方法,去掉一集合中包含的另一个集合的值。A.removeAll(B)。
import org.junit.Test; import java.util.HashSet;
import java.util.Set; /**
* 差集
*
* @author zhongtao on 2018/5/31
*/
public class DifferenceSet {
/**
* 差集测试
*/
@Test
public void testDifferenceSet() {
Set<String> set1 = new HashSet<>();
Set<String> set2 = new HashSet<>(); set1.add("a");
set1.add("b");
set1.add("c");
set1.add("d"); set2.add("c");
set2.add("d");
set2.add("e");
set2.add("f"); set1.removeAll(set2);
System.out.println("差集是 " + set1); //差集是 [a, b]
}
}
最新文章
- Android(Linux)控制GPIO的方法及实时性分析
- Sass与Web组件化相关的功能
- cocos2d-x学习
- keytool的使用
- css3动画属性(transitions:property duration timing transition-delay)
- 【从零学习Python】Ubuntu14.10下Python开发环境配置
- Drools学习笔记-01-在eclipse indgo集成Drools5.5
- 201521123101 《Java程序设计》第3周学习总结
- Android 自定义View实现QQ运动积分抽奖转盘
- Web浏览器与Web服务器之间的通信过程
- axios,vue-axios在项目中的应用
- 解决zabbix3.4图表显示中文乱码问题
- canvas高级篇(转载)移动元素
- 编写自定义Yeoman生成器简述
- 代码统计工具cloc
- UVa 11584 划分成回文串
- java redis基本操作
- Ext 弹出窗体显示到iframe之外
- CSS3和js炫酷点击按钮3D翻转动画特效
- Abp Uow 设计
热门文章
- [flex] as3.0 实现基于air的简单浏览器
- 关于Mysql数据库查询数据大小写的问题汇总
- 插入排序 思想 JAVA实现
- 【Quartz】工作原理
- TX2 i2c-tools使用
- BiliBili, ACFun… And More!【递归算法】
- UVA_11922 Permutation Transformer 【splay树】
- 基于Allwinner的Audio子系统分析(Android-5.1)
- Linux网络编程服务器模型选择之循环服务器
- 《LeetBook》leetcode题解(14):Longest Common Prefix[E]