将保持插入顺序且不重复的集合

时间:2013-05-10 10:44:14

标签: java collections

在Java集合中哪个集合不允许重复并且还保留数据的插入顺序?

6 个答案:

答案 0 :(得分:17)

LinkedHashSet同时执行这两项操作

Set set = new LinkedHashSet();

答案 1 :(得分:16)

LinkedHashSet

根据documentation

  

这个实现与HashSet的不同之处在于它维护了一个   贯穿其所有条目的双向链表。这有联系   list定义迭代排序,即顺序   元素被插入集合(插入顺序)

答案 2 :(得分:8)

LinkedHashSet应符合条款。

  

Set接口的哈希表和链接列表实现,具有可预测的迭代顺序。此实现与HashSet的不同之处在于它维护了一个贯穿其所有条目的双向链表。此链接列表定义迭代排序,,即元素插入集合(插入顺序)的顺序。

答案 3 :(得分:3)

您可以为此目的检查LinkedHashSet

Set不允许重复值。 LinkedHashSet将保留广告订单。

  

使用Set接口的哈希表和链表实现   可预测的迭代顺序。此实现与HashSet不同   因为它维护着一个贯穿所有链接的双向链表   条目。该链表定义了迭代排序,即   将元素插入集合(插入顺序)的顺序。   请注意,如果重新插入元素,则不会影响插入顺序   进入集合。 (如果s.add(e)是,则将元素e重新插入到集合中   当s.contains(e)在紧接之前返回true时调用   调用。)

答案 4 :(得分:1)

使用

public class LinkedHashSet<E> extends HashSet<E>

基本上Set不允许重复和

  

此链接列表定义迭代排序,即元素插入集合的顺序(插入顺序)

http://docs.oracle.com/javase/6/docs/api/java/util/LinkedHashSet.html

答案 5 :(得分:1)

您需要一个有序集,由LinkedHashSet实现。