使用 CollectionUtils 中四个方法之一执行集合操作.这四种分别是 union(),intersection();disjunction(); subtract();
下列例子就是演示了如何使用上述四个方法处理两个 Collection;
注: 这些方法都是数学的集合算法

 

   
   
   
   
  1. import java.util.Arrays;     
  2. import java.util.Collection;     
  3. import java.util.Collections;     
  4. import java.util.List;     
  5.      
  6. import org.apache.commons.collections.CollectionUtils;     
  7. import org.apache.commons.lang.ArrayUtils;     
  8.      
  9. public class CollectionUtilsIntro {   
  10.  @SuppressWarnings("unchecked")     
  11.  public static void main(String[] args) {     
  12.   String[] arrayA = new String[] { "1""2""3""3""4""5" };     
  13.   String[] arrayB = new String[] { "3""4""4""5""6""7" };     
  14.      
  15.   List a = Arrays.asList(arrayA);     
  16.   List b = Arrays.asList(arrayB);     
  17.   //并集     
  18.   Collection union = CollectionUtils.union(a, b);     
  19.   //交集     
  20.   Collection intersection = CollectionUtils.intersection(a, b);     
  21.   //交集的补集     
  22.   Collection disjunction = CollectionUtils.disjunction(a, b);     
  23.   //集合相减     
  24.   Collection subtract = CollectionUtils.subtract(a, b);     
  25.      
  26.   Collections.sort((List) union);     
  27.   Collections.sort((List) intersection);     
  28.   Collections.sort((List) disjunction);     
  29.   Collections.sort((List) subtract);     
  30.      
  31.   System.out.println("A: " + ArrayUtils.toString(a.toArray()));     
  32.   System.out.println("B: " + ArrayUtils.toString(b.toArray()));     
  33.   System.out.println("--------------------------------------------");     
  34.   System.out.println("Union(A, B): " + ArrayUtils.toString(union.toArray()));     
  35.   System.out.println("Intersection(A, B): " + ArrayUtils.toString(intersection.toArray()));     
  36.   System.out.println("Disjunction(A, B): " + ArrayUtils.toString(disjunction.toArray()));     
  37.   System.out.println("Subtract(A, B): " + ArrayUtils.toString(subtract.toArray()));     
  38.  }     
  39. }