java集合运算:求交集,并集,集合差
今天突然想用Java实现如何用集合实现交集,并集和差集的运算了!主要是看Python语言的时候想起来的。
实现主要使用的Set集合,Set集合的特点是集合内的元素不可重复。
具体代码如何:
1 package com.chengxuyuanzhilu; 2 3 import java.util.HashSet; 4 import java.util.Set; 5 6 public class CollectionOperation { 7 public static void main(String[] args) { 8 Set<Integer> result = new HashSet<Integer>(); 9 Set<Integer> set1 = new HashSet<Integer>() { 10 private static final long serialVersionUID = 1L; 11 { 12 add(1); 13 add(3); 14 add(5); 15 }}; 16 17 Set<Integer> set2 = new HashSet<Integer>(){ 18 private static final long serialVersionUID = 1L; 19 { 20 add(1); 21 add(2); 22 add(3); 23 }}; 24 25 //交集 26 result.clear(); 27 result.addAll(set1); 28 result.retainAll(set2); 29 System.out.println("交集:"+result); 30 31 //差集 32 result.clear(); 33 result.addAll(set1); 34 result.removeAll(set2); 35 System.out.println("差集:"+result); 36 37 //并集 38 result.clear(); 39 result.addAll(set1); 40 result.addAll(set2); 41 System.out.println("并集:"+result); 42 43 } 44 }
运行结果如下: