removeAll方法是取差集的,数据量很大的时候效率很低
原集合:List<T> source
目标集合:List<T> dest
要求:取原集合中,不与目标集合重复的元素
public List<T> removeAll(List<T> source, List<T> dest) { List<T> result = new LinkedList<T>(); Set<T> destinationSet = new HashSet<T>(dest); for(T t : source) { if (!destinationSet.contains(t)) { result.add(t); } } return result; }