[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值,而不是集合类型,需要注意!

原文地址:https://www.cnblogs.com/shijt/p/7576304.html