作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在 Java 中维护不允许重复但保持插入顺序并允许检索最后插入的元素的列表的最有效方法是什么?
最佳答案
尝试 LinkedHashSet , 它保持输入的顺序。
<罢工>请注意,重新插入一个元素会更新其在输入顺序中的位置,因此您可以先尝试检查该元素是否已包含在集合中。
编辑:
您还可以尝试 Apache 公共(public)集合类 ListOrderedSet根据 JavaDoc(如果我没有再读错任何东西 :) )将装饰一个集合以保持插入顺序并提供一个 get(index)
。方法。
因此,看来您可以使用new ListOrderedSet(new HashSet())
得到您想要的东西。 ;
不幸的是,此类不提供通用参数,但它可能会让您入门。
编辑 2:
Here's a project这似乎代表具有泛型的公共(public)集合,即它有一个 ListOrderedSet<E>
因此你可以调用 new ListOrderedSet<String>(new HashSet<String>());
关于java - 有没有办法创建一个 List/Set 来保持插入顺序并且不允许在 Java 中重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5754960/
我是一名优秀的程序员,十分优秀!