映射实现,使条目按添加顺序保留

时间:2013-07-24 19:27:40

标签: java collections

我需要一个键值对数据结构,它可以保证按照添加顺序检索条目,就像单ArrayListVector一样。可以将其视为启用键值对的ArrayList。请记住,TreeMap不会这样做,因为排序不是按键的值,而是按插入时间。是否有符合这些要求的Java Collection?我浏览了不同的Map实现,但找不到任何匹配。

我知道我可以定义我的类,它接受键和值并将其放在ArrayList中,但这只是上述类的选项B.

3 个答案:

答案 0 :(得分:6)

您在寻找LinkedHashMap吗?

  

Map接口的哈希表和链表实现,具有可预测的迭代顺序。

如果符合您的目的,您也可以查看Guava's ImmutableMap

  

基于哈希的不可变Map,具有可靠的用户指定迭代顺序。不允许使用null键或值。

答案 1 :(得分:4)

  

我需要一个键值对数据结构,它可以保证按照添加顺序检索条目,

LinkedHashMap

  

Map接口的哈希表和链表实现,具有可预测的迭代顺序。

答案 2 :(得分:0)

使用java.util.LinkedHashMap Javadocs here

“此链接列表定义了迭代排序,通常是键插入映射的顺序(插入顺序)”