首先回顾一下LinkedHashSet:
LinkedHashSet继承HashSet且实现了LinkedHashMap,
底层使用LinkedHashMap保存所有元素,其所有操作方法又和HashSet相同。
注意点:
1、LinkedHashSet 是 Set 的一个具体实现,其维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序可为插入顺序或是访问顺序。
2、如果我们需要迭代的顺序为插入顺序或者访问顺序,那么 LinkedHashSet 可优先考虑。
这里我们利用LinkedHashSet不能添加重复数据并能保证添加顺序的特性 去除List中重复元素:
public List<String> removeDuplicate(List<String> list) {
LinkedHashSet<String> set = new LinkedHashSet<String>(list.size());
List<String> newList = new ArrayList<String>();
set.addAll(list);
newList.addAll(set);
return newList;
}