集合List交集、并集、差集
更新时间 2021-08-18 16:15:18    浏览 0   

TIP

本文主要是介绍 集合List交集、并集、差集 。

Java 集合List交集、并集、差集

# 一、集合List 交集

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 }

# 二、集合List 并集

并集使用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 }

# 三、集合List 差集

差集使用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 }

# 参考文章

  • https://www.cnblogs.com/zt19994/p/9114868.html
更新时间: 2021-08-18 16:15:18
  0
手机看
公众号
讨论
左栏
全屏
上一篇
下一篇
扫一扫 手机阅读
可分享给好友和朋友圈