对两个LIST对行比对,筛选
以下两种方法比对中会发现用情况 (单位 ns)
CollectionUtils ListUtils
52354 811485
49659 790698
package com.collection;
import java.util.*;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.ListUtils;
public class ListFilter {
public static void main(String[] args) {
List l1 = new ArrayList();
List l2 = new ArrayList();
l1.add(1);
l1.add(2);
l1.add(3);
l1.add(5);
l2.add(4);
l2.add(5);
Collection s1 = CollectionUtils.union(l1, l2);
Long start = System.nanoTime();
Collection s2 = CollectionUtils.subtract(l1, l2);
System.out.println(System.nanoTime() - start);
Long start1 = System.nanoTime();
List ls = ListUtils.subtract(l1, l2);
System.out.println(System.nanoTime() - start1);
Collection s3 = CollectionUtils.intersection(l1, l2);
Collection s4 = CollectionUtils.disjunction(l1, l2);
System.out.println(s4);
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
}
}