加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 07:48:25 所属栏目: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/

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 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读