[java] 求2个集合的交 差 并集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[java] 求2个集合的交 差 并集相关的知识,希望对你有一定的参考价值。

要求2个集合的交 差 并集。

set集合,如下

 1 import java.util.HashSet;
 2 import java.util.Set;
 3 
 4 public class SetTest {
 5     public static void main(String[] args) {
 6         Set<String> set1=new HashSet<String>();
 7         Set<String> set2=new HashSet<String>();
 8         Set<String> result=new HashSet<String>();
 9         
10         set1.add("a");
11         set1.add("b");
12         set1.add("c");
13         set1.add("e");
14         set1.add("d");
15         
16         
17         set2.add("a1");
18         set2.add("b1");
19         set2.add("c1");
20         set2.add("e");
21         set2.add("d");
22         
23         result.clear();
24         result.addAll(set1);
25         result.retainAll(set2);
26         System.out.println("交集:"+result);
27 
28         result.clear();
29         result.addAll(set1);
30         result.removeAll(set2);
31         System.out.println("差集:"+result);
32 
33         result.clear();
34         result.addAll(set1);
35         result.addAll(set2);
36         System.out.println("并集:"+result);
37         
38     }
39 }

list集合方法相同,代码如下

 1 import java.util.ArrayList;
 2 import java.util.List;
 3 
 4 public class ListTest {
 5     public static void main(String[] args) {
 6         List<String> list1=new ArrayList<String>();
 7         List<String> list2=new ArrayList<String>();
 8         List<String> result=new ArrayList<String>();
 9         
10         list1.add("a");
11         list1.add("b");
12         list1.add("c");
13         list1.add("e");
14         list1.add("d");
15         
16         
17         list2.add("a1");
18         list2.add("b1");
19         list2.add("c1");
20         list2.add("e");
21         list2.add("d");
22         
23         result.clear();
24         result.addAll(list1);
25         result.retainAll(list2);
26         System.out.println("交集:"+result);
27 
28         result.clear();
29         result.addAll(list1);
30         result.removeAll(list2);
31         System.out.println("差集:"+result);
32 
33         result.clear();
34         result.addAll(list1);
35         result.addAll(list2);
36         System.out.println("并集:"+result);
37     }
38 
39 }

 

另外,addAll(),removeAll(),retainAll()三种方法的返回值都是Boolean值,而不是集合类型,需要注意!

 

以上是关于[java] 求2个集合的交 差 并集的主要内容,如果未能解决你的问题,请参考以下文章

java集合运算:求交集,并集,集合差

集合操作 用单链表模拟有序集合,实现集合的加入一个元素、删除一个元素、集合的交、并、差运算。

用java编写程序,集合元素为小写字母,实现集合的交,并,补,差运算

java问题,求两个集合对象的并集

python里面集合的集合的交并差和对称差集的求法。

求2个list的差集