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

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

LinkedHashSet 

根据文档

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

LinkedHashSet执行这两个操作

 Set set = new LinkedHashSet(); 

LinkedHashSet应该适合账单。

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

您可以为此目的检查LinkedHashSet 。

Set不允许重复值。 LinkedHashSet将保留插入顺序。

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

使用

 public class LinkedHashSet extends HashSet 

基本上Set不允许重复和

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

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

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