首页 > 代码库 > 集合-- 交 、 并 、 差 集(LinkedList、HashSet)

集合-- 交 、 并 、 差 集(LinkedList、HashSet)

 1 package Aug11.Collection; 2  3 import java.util.HashSet; 4 import java.util.LinkedList; 5 import java.util.Set; 6  7 public class Test { 8  9     public static void main(String[] args) {10         Set<Integer> result = new HashSet<Integer>();11         Set<Integer> set1 = new HashSet<Integer>() {12             {13                 add(1);14                 add(3);15                 add(5);16                 add(4);17             }18         };19 20         Set<Integer> set2 = new HashSet<Integer>() {21             {22                 add(1);23                 add(2);24                 add(3);25                 add(6);26             }27         };28 29         result.clear();30         result.addAll(set1);31         result.retainAll(set2);32         System.out.println("交集:" + result);33 34         Set<Integer> temp = new HashSet<Integer>();  //临时集合存放交集35         temp.addAll(result);36         37         result.clear();38         result.addAll(set1);39         result.addAll(set2);40         result.removeAll(temp);   //并集减去交集41         System.out.println("差集:" + result);42 43         result.clear();44         result.addAll(set1);45         result.addAll(set2);46         System.out.println("并集:" + result);47         48         49         System.out.println("----------------------------------------");50         51         52         53         LinkedList <Integer> result1 = new LinkedList<Integer> ();54         LinkedList <Integer> list1 = new LinkedList<Integer>();55         list1.add(1);56         list1.add(3);57         list1.add(5);58         list1.add(4);59 60         LinkedList <Integer> list2 = new LinkedList<Integer> ();61         list2.add(1);62         list2.add(2);63         list2.add(3);64         list2.add(6);65 66         67 68         result1.clear();69         result1.addAll(list1);70         result1.retainAll(list2);71         System.out.println("交集:" + result1);72         73         LinkedList <Integer> temp1 = new LinkedList<Integer> (); //临时集合存放交集74         temp1.addAll(result1);75         result1.clear();76         result1.addAll(list1);77         result1.addAll(list2);78         result1.removeAll(temp1);  //并集减去交集79         System.out.println("差集:" + result1);80 81         82         result1.clear();83         result1.addAll(list1);84         result1.removeAll(list2);85         result1.addAll(list2);86         System.out.println("并集:" + result1);87 88         89     }90 91 }

两种集合 并集 有些 区别。