什么样的List <?>会自动消除重复

use*_*108 13 java

什么类型的List会在添加时自动消除重复项.

例如,对于List,如果我添加1,2,3,4,5,1,2,3 = List应该只包含1,2,3,4,5

Wol*_*ang 18

看看LinkedHashSet

  • @pgras,也许是因为添加元素的顺序保持一致,就像列表一样. (5认同)
  • @Wolfgang - 1)LinkedHashSet没有展示真实List的特征,正如我之前的评论所解释的那样.2)更好的想法是实现真正的Set/List混合.ArrayList和HashSet的包装器可以完成这项工作. (3认同)
  • @ Wolfgang,@ Bart K - 问题在于LinkedHashSet不是List.它实现了Set API,并且不允许您在位置上获取,更新或插入或删除元素. (2认同)

ric*_*chj 16

Set会自动消除重复项,但它是Collection而不是List.

我认为没有一个List可以消除标准库中的重复项.

Java 6 SE API文档的Collections Framework页面的Annotated Outline表示"通常允许重复".

  • +1用于指出Set和Lits之间的差异。 (2认同)

Niv*_*vas 6

如果要消除重复项,请使用Set