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 }
  • 相关阅读:
    多环境
    Date的after()与before()方法的使用
    Centos6.8 yum报错及修复YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. Invalid
    JSON格式数据解析看这一个就足够了
    widnows下lua开发环境luadist LuaRocks搭建
    树的相关定义及遍历
    win10 启动redis服务的bat
    PageHelper分页失效的可能原因之一
    el-table多选表头复选框不对齐
    好用的软件推荐
  • 原文地址:https://www.cnblogs.com/JimShi/p/11499528.html
Copyright © 2011-2022 走看看