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


    一、交集

      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 }
  • 相关阅读:
    伪元素和伪类的区别
    绝对定位是相对定位元素的什么边界进行定位的?
    元素如何设置滚动/滚动条的设置与隐藏
    什么是行内元素、块级元素?
    通过JS判断当前浏览器的类型
    获取元素计算样式getComputedStyle()与currentStyle
    javascript链式运动框架案例
    任意值的运动框架
    JS多物体运动案例:变宽、变高
    offsetWidth与offsetHeight
  • 原文地址:https://www.cnblogs.com/zt19994/p/9114868.html
Copyright © 2020-2023  润新知