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集合并集:是不会去重复

List和set集合:交集、差集、合集的区别retainAll,removeAll、addAll相关推荐

  1. python两个dataframe求差集_spark计算两个DataFrame的差集、交集、合集

    spark 计算两个dataframe 的差集.交集.合集,只选择某一列来对比比较好.新建两个 dataframe : import org.apache.spark.{SparkConf, Spar ...

  2. java8 stream流操作集合交集,差集,并集,过滤,分组,去重,排序,聚合等

    测试对象 public class Person {private String name;private Integer age;private Integer weight;public Pers ...

  3. python两个集合的交集 合集 差集

    python两个集合的交集 合集 差集 https://blog.csdn.net/qq_17753903/article/details/84899612 python & | and or ...

  4. (小甲鱼python)集合笔记合集一 集合(上)总结 集合的简单用法 集合的各种方法合集:子、交、并、补、差、对称差集、超集

    一.基础复习 集合与字典区别 集合中所有元素都是独一无二的,并且也是无序的. 集合具有唯一性.无序性.有限性 >>> type({}) #字典 <class 'dict'> ...

  5. JAVA集合取交集工具类_集合交集、差集工具类

    1.业务背景 在日常开发中,有时会遇到需要对比两个集合来计算出两个集合的交集.差集.以此来决定之后对数据库的insert.delete.update操作.例如,在一些管理系统中配置管理员列表后,如果需 ...

  6. 数据合集、并集和差集的产生(seq、cat、sort和uniq的综合使用)

    本文示例了使用linux的seq产生数据,cat命令显示文件内容和进行文件合并,uniq命令去重,以及他们组合使用产生数据并集.合集和差集的威力. seq 1 10 产生1,2,- ,10 十个数据( ...

  7. python基础语法合集-Python基础语法(四)—列表、元组、字典、集合、字符串

    列表 基本概念列表是有序的元素集合,所有元素放在一对中括号中,用逗号隔开,没有长度限制: 列表索引值以0为开始值,-1为从未尾的开始位置. 列表可以使用+操作符进行拼接,使用*表示重复. 当列表元素增 ...

  8. Set 的合集 并集 差集

    合集 var arr1 = [1,2,3,3,5,4,7]; var arr2 = [2,3,6]; function union() {//先将数组去重let s1 = new Set(arr1); ...

  9. STL 算法vector/set集合-交集,并集,差集,对称差

    针对这里提及的四个集合运算必须特别注意:  1.第一个算法需保证第一集合和第二集合有序,并从小到大排序,内部使用默认"<"操作符比较元素大小: 2.第二个算法需保证第一集合和 ...

最新文章

  1. 小程序门店自提功能开启,酷客多带你玩转O2O模式
  2. Java网络编程——11.非阻塞I/O
  3. [JS] - onmusewheel事件(兼容IE,FF,opera,safari,chrome)
  4. axure9 邮件点击效果_总是收到无关的工作邮件?这个有意思的工具可以帮你消灭它们...
  5. RabbitMQ高级指南:从配置、使用到高可用集群搭建
  6. InstallShield 2020
  7. linux 和服务通讯,Android 的Activity和Service之间的通信
  8. Bailian2980 大整数乘法【大数】
  9. FQDN(Fully qualified domain name)
  10. 详解百度地图API之地图操作
  11. dell无线网卡驱动安装
  12. 第17期基于SSM爱家房屋租赁管理系统
  13. 新西兰八大名校--新西兰公立大学
  14. 用例图、功能模块图和数据库的区别
  15. 微信支付SDK使用总结
  16. Windows 10安装Adobe XD出现白屏闪退问题
  17. ORACLE LPAD()函数
  18. Istio-智能DNS
  19. webRTC服务器搭建(基于Janus)与Demo运行
  20. 中科红旗开源Linux解决方案

热门文章

  1. 梅姨一定想不到 中国人最爱的英国货竟然是一本童书
  2. ​在 2022 年找工作,毕业生们的 “最后一课”
  3. 经济危机与金融危机的学术解释与通俗到庸俗的解释,包你明白
  4. 三星服务器内存条型号区分,三星内存铭牌详解|三星内存条标签内存参数详解...
  5. China's Appetite for Nickel Drives a Symbiotic Alliance
  6. html5中ol的意思,详解HTML5中ol标签的用法
  7. 【边做项目边学Android】手机安全卫士07-手机防盗之进入限制
  8. C语言唐僧孙悟空白骨精游戏,Python--循环练习--唐僧大战白骨精小游戏
  9. opencv之基本形状识别
  10. 没想到钱多多的求职之路竟如此艰辛,求大佬指点