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;
}
本文介绍了一种在数据量较大时,比使用removeAll方法更高效的取差集算法。通过将目标集合转换为HashSet,利用其快速查找特性,实现对原集合中不与目标集合重复元素的快速筛选。
1091

被折叠的 条评论
为什么被折叠?



