List和set集合:交集、差集、合集的区别retainAll,removeAll、addAll
set 、list集合的交集(retainAll)、差集(removeAll)是没有区别的都是一样的.
set 、list集合的合集addAll是有区别的:set可以去重复;list不去重复
public static void main(String[] args) {
Set<Integer> result = new HashSet<Integer>();
Set<Integer> set1 = new HashSet<Integer>(){{
add(1);
add(3);
add(5);
}};
Set<Integer> set2 = new HashSet<Integer>(){{
add(1);
add(2);
add(3);
}};
result.clear();
result.addAll(set1);
System.out.println("去重复交集前1:"+set1);
System.out.println("去重复交集前2:"+set2);
result.retainAll(set2);
System.out.println("set1与set2的交集是:"+result);
result.clear();
result.addAll(set2);
System.out.println("差集前的1:"+set1);
System.out.println("差集前的2:"+set2);
result.removeAll(set1);
System.out.println("set2与set1的差集是:"+result);
result.clear();
result.addAll(set1);
result.addAll(set2);
System.out.print("set1和set2的并集:"+result);
System.err.print("set1集合并集:是去重复"+"\n");
List<Integer> list = new ArrayList<Integer>();
List<Integer> list1 = new ArrayList<Integer>(){{
add(1);
add(3);
add(5);
}};
List<Integer> list2 = new ArrayList<Integer>(){
{
add(1);
add(2);
add(3);
}};
list.clear();
list.addAll(list1);
System.out.println("去重复交集前1:"+list1);
System.out.println("去重复交集前2:"+list2);
list.retainAll(list2);
System.out.println("list1与list2的交集是:"+list);
list.clear();
list.addAll(list2);
System.out.println("差集前的1:"+list1);
System.out.println("差集前的2:"+list2);
list.removeAll(list1);
System.out.println("list2与list1的差集是:"+list);
list.clear();
list.addAll(list1);
list.addAll(list2);
System.out.print("list1和set2的并集:"+list);
System.err.print("List集合并集:是不会去重复");
}
输出结果:
去重复交集前1:[1, 3, 5]
去重复交集前2:[1, 2, 3]
set1与set2的交集是:[1, 3]
差集前的1:[1, 3, 5]
差集前的2:[1, 2, 3]
set2与set1的差集是:[2]
set1和set2的并集:[1, 2, 3, 5]set1集合并集:是去重复
去重复交集前1:[1, 3, 5]
去重复交集前2:[1, 2, 3]
list1与list2的交集是:[1, 3]
差集前的1:[1, 3, 5]
差集前的2:[1, 2, 3]
list2与list1的差集是:[2]
list1和set2的并集:[1, 3, 5, 1, 2, 3]List集合并集:是不会去重复
https://blog.csdn.net/shenhonglei1234/article/details/52063399
List和set集合:交集、差集、合集的区别retainAll,removeAll、addAll的更多相关文章
- spark计算两个DataFrame的差集、交集、合集
spark 计算两个dataframe 的差集.交集.合集,只选择某一列来对比比较好.新建两个 dataframe : import org.apache.spark.{SparkConf, Spar ...
- spark 集合交集差集运算
intersect except是spark提供的集合差集运算, 但是要求参与运算的两个dataframe,有相同的data Schema. 如果我想从 集合1(attribute1, attribu ...
- 关于C++里set_intersection(取集合交集)、set_union(取集合并集)、set_difference(取集合差集)等函数的使用总结
文章转载自https://blog.csdn.net/zangker/article/details/22984803 set里面有set_intersection(取集合交集).set_union( ...
- C# List 集合 交集、并集、差集、去重, 对象集合、 对象、引用类型、交并差补、List<T>
关键词:C# List 集合 交集.并集.差集.去重, 对象集合. 对象.引用类型.交并差.List<T> 有时候看官网文档是最高效的学习方式! 一.简单集合 Intersect 交集, ...
- Set 的合集 并集 差集
合集 ,,,,,,]; ,,]; function union() { //先将数组去重 let s1 = new Set(arr1); let s2 = new Set(arr2); //[...s ...
- C++求集合的交集差集
标准库的<algorithm>头文件中提供了std::set_difference,std::set_intersection和std::set_union用来求两个集合的差集,交集和并集 ...
- [转][C#] 对List<T>取交集、连集及差集
本文转自:http://www.cnblogs.com/shuibin/archive/2012/04/19/2457867.html 最近在專案中,剛好遇到這個需求, 需要比對兩個List,進行一些 ...
- C# 集合的交集 差集 并集 去重
C# 集合的交集 差集 并集 去重 两个对象list,直接比较是不行的,因为他们存的地址不一样 需要重写GetHashCode()与Equals(object obj)方法告诉电脑 class Stu ...
- 备战金三银四!一线互联网公司java岗面试题整理:Java基础+多线程+集合+JVM合集!
前言 回首来看2020年,真的是印象中过的最快的一年了,真的是时间过的飞快,还没反应过来年就夸完了,相信大家也已经开始上班了!俗话说新年新气象,马上就要到了一年之中最重要的金三银四,之前一直有粉丝要求 ...
随机推荐
- OpenCV——Skewing
// define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include < ...
- 取分组TOPN好理解案例
- ACM学习历程—BestCoder 2015百度之星资格赛1006 单调区间(组合数学)
Problem Description 百小度最近在逛博客,然后发现了一个有趣的问题. 如下图所示,是一个12 位数014326951987 , 它的数字先逐渐变大, 然后变小,再变大,接着变小,又变 ...
- BZOJ2028:[SHOI2009]会场预约(线段树版)
浅谈树状数组与线段树:https://www.cnblogs.com/AKMer/p/9946944.html 题目传送门:https://www.lydsy.com/JudgeOnline/prob ...
- vijos:P1190繁忙的都市
描述 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条道路 ...
- cocos2dx 获取精灵的高亮效果
转自:http://blog.csdn.net/tyxkzzf/article/details/38703883 CCSprite* getHighlightSprite(CCSprite* norm ...
- CentOS下编写shell脚本来监控MySQL主从复制的教程
这篇文章主要介绍了在CentOS系统下编写shell脚本来监控主从复制的教程,文中举了两个发现故障后再次执行复制命令的例子,需要的朋友可以参考下 目的:定时监控MySQL主从数据库是否同步,如果不同步 ...
- 演讲:对 2000 多亿条数据做一次 group by 需要多久?
http://2017.qconbeijing.com/presentation/646?utm_source=weibo&utm_medium=infoq&utm_campaign= ...
- 创建maven parent project & module project
1.命令方式: 1)Create the top-level root: mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo.arc ...
- AngularJs(Part 2)
I am still tired to translate these into Chinese. but who cares? i write these posts just for myself ...