zoukankan      html  css  js  c++  java
  • Java中多个集合的交集,并集和差集

    Java中多个集合的交集,并集和差集

    https://www.cnblogs.com/zt19994/p/9114868.html

    一、交集

      java中交集使用 A.retainAll(B) ,交集的结果在集合A中。

    复制代码
     1 import org.junit.Test;
     2 
     3 import java.util.HashSet;
     4 import java.util.Set;
     5 
     6 /**
     7  * 交集
     8  *
     9  * @author zhongtao on 2018/5/30
    10  */
    11 public class Intersection {
    12     /**
    13      * 测试简单交集
    14      */
    15     @Test
    16     public void testSet() {
    17         Set<String> set1 = new HashSet<>();
    18         Set<String> set2 = new HashSet<>();
    19 
    20         set1.add("a");
    21         set1.add("b");
    22         set1.add("c");
    23 
    24         set2.add("c");
    25         set2.add("d");
    26         set2.add("e");
    27 
    28         //交集
    29         set1.retainAll(set2);
    30         System.out.println("交集是 " + set1);  //交集是 [c]
    31     }
    32 }
    复制代码

    二、并集

      并集使用addAll,A.addAll(B) 因为set本身就去重,所有直接全部添加到一个集合中取并集。

    复制代码
     1 import org.junit.Test;
     2 
     3 import java.util.HashSet;
     4 import java.util.Set;
     5 
     6 /**
     7  * 并集
     8  *
     9  * @author zhongtao on 2018/5/31
    10  */
    11 public class UnionSet {
    12     /**
    13      * 并集测试
    14      */
    15     @Test
    16     public void testUnionSet() {
    17         Set<String> set1 = new HashSet<>();
    18         Set<String> set2 = new HashSet<>();
    19 
    20         set1.add("a");
    21         set1.add("b");
    22         set1.add("c");
    23 
    24         set2.add("b");
    25         set2.add("c");
    26         set2.add("d");
    27 
    28         set1.addAll(set2);
    29         System.out.println("并集是" + set1); //并集是[a, b, c, d]
    30     }
    31 }
    复制代码

    三、差集

      差集使用removeAll方法,去掉一集合中包含的另一个集合的值。A.removeAll(B)。

    复制代码
     1 import org.junit.Test;
     2 
     3 import java.util.HashSet;
     4 import java.util.Set;
     5 
     6 /**
     7  * 差集
     8  *
     9  * @author zhongtao on 2018/5/31
    10  */
    11 public class DifferenceSet {
    12     /**
    13      * 差集测试
    14      */
    15     @Test
    16     public void testDifferenceSet() {
    17         Set<String> set1 = new HashSet<>();
    18         Set<String> set2 = new HashSet<>();
    19 
    20         set1.add("a");
    21         set1.add("b");
    22         set1.add("c");
    23         set1.add("d");
    24 
    25         set2.add("c");
    26         set2.add("d");
    27         set2.add("e");
    28         set2.add("f");
    29 
    30         set1.removeAll(set2);
    31         System.out.println("差集是 " + set1); //差集是 [a, b]
    32     }
    33 }
  • 相关阅读:
    python中的有趣用法
    python计算程序运行时间
    python OptionParser模块
    优酷界面全新改版
    python数值计算模块NumPy scipy安装
    IOS开发-通知与消息机制
    四川大学线下编程比赛第一题:数字填充
    矩形旋转碰撞,OBB方向包围盒算法实现
    【Cocos2d-x 粒子系统】火球用手指飞起来
    它们的定义AlertDialog(二)
  • 原文地址:https://www.cnblogs.com/JimShi/p/11499528.html
Copyright © 2011-2022 走看看