[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个集合的交 差 并集的主要内容,如果未能解决你的问题,请参考以下文章
集合操作 用单链表模拟有序集合,实现集合的加入一个元素、删除一个元素、集合的交、并、差运算。