[1、差集( except )select a from t_aexceptselect a from t_b-- 也可写作:select a from t_a where a not in (select a from t_b)-- 多个字段时:select a,b from t_aexc
说明:这里没有求差集的代码,有了交集和并集,差集=并集-交集
package com;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class ListTest {
public static void main(String[] args) {
testIntersection();
testUnion();
testIntersectionSet();
}
private static void testIntersection() {
List list1 = new ArrayList();
List list2 = new ArrayList();
list1.add("abc"); list2.add("abc");
list1.add("123"); list2.add("123");
list1.add("ABC");
list2.add("XYZ");
list1.removeAll(list2);
list1.addAll(list2);
System.out.println("并集元素个数是:" + list1.size());
}
private static void testIntersectionSet() {
List list1 = new ArrayList();
List list2 = new ArrayList();
list1.add("abc"); list2.add("abc");
list1.add("123"); list2.add("123");
list1.add("ABC");
list2.add("XYZ");
Set set =new HashSet();
addList2Set(set, list1);
addList2Set(set, list2);
System.out.println("并集元素个数是:" + set.size());
}
private static void testUnion() {
List list1 = new ArrayList();
List list2 = new ArrayList();
list1.add("abc"); list2.add("abc");
list1.add("123"); list2.add("123");
list1.add("ABC");
list2.add("XYZ");
list1.retainAll(list2);
System.out.println("交集元素个数是:"+list1.size());
}
private static void addList2Set(Set set,List list){
for (String str : list) {
set.add(str);
}
}
} [在实现数据挖掘一些算法或者是利用空间向量模型来发现相似文档的时候,会遇到求两个集合的交集的情况。以前一般是采用比较笨拙的办法,依次遍历其中一个集 合的元素,然后