直接上代码:
private static void DuplicateRemoval(List<Integer> ioList)
{
LinkedHashSet<Integer> tmpSet = new LinkedHashSet<Integer>(ioList.size());
tmpSet.addAll(ioList);
ioList.clear();
ioList.addAll(tmpSet);
}
原理是利用了LinkedHashSet不能添加重复的数据。
当两个List需要去重合并的时候,可以类似的先addList,再DuplicateRemoval。
这种方法比使用List的contains效率高几十倍。