zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    Spring Boot 使用 Dom4j XStream 操作 Xml
    Spring Boot 使用 JAX-WS 调用 WebService 服务
    Spring Boot 使用 CXF 调用 WebService 服务
    Spring Boot 开发 WebService 服务
    Spring Boot 中使用 HttpClient 进行 POST GET PUT DELETE
    Spring Boot Ftp Client 客户端示例支持断点续传
    Spring Boot 发送邮件
    Spring Boot 定时任务 Quartz 使用教程
    Spring Boot 缓存应用 Memcached 入门教程
    ThreadLocal,Java中特殊的线程绑定机制
  • 原文地址:https://www.cnblogs.com/zt19994/p/9114868.html
Copyright © 2011-2022 走看看