可以用HashSet替换此代码中的LinkedHashSet吗?

sam*_*sam 3 java data-structures

以下代码有什么作用?可以LinkedHashSet换成HashSet

public class CollectionFunction {
    public <E> List<E> function(List<E> list) {
        return new ArrayList<E>(new LinkedHashSet<E>(list));
    }
}
Run Code Online (Sandbox Code Playgroud)

Era*_*dan 7

以下代码有什么作用?

它似乎用于从列表中删除重复项而不更改顺序

  1. 删除重复项(LinkedHashSet是一个Set)
  2. 维护插入顺序(LinkedHashSet具有可预测的迭代顺序)
  3. 转换回List

LinkedHashSet可以替换为HashSet吗?

不,它不会保证订单(#2)