我需要一个键值对数据结构,它保证按添加顺序检索条目,很像ArrayList
或Vector
仅用于单个条目。将其视为启用键值对的 ArrayList。请记住,TreeMap
不会这样做,因为排序不是按键的值而是按插入时间进行的。是否有满足这些要求的 Java 集合?我浏览了不同的Map
实现,但找不到任何匹配的。
我知道我可以定义我的类,该类接受键和值并将其放在 ArrayList 中,但这只是上述类的选项 B。
我需要一个键值对数据结构,它保证按添加顺序检索条目,很像ArrayList
或Vector
仅用于单个条目。将其视为启用键值对的 ArrayList。请记住,TreeMap
不会这样做,因为排序不是按键的值而是按插入时间进行的。是否有满足这些要求的 Java 集合?我浏览了不同的Map
实现,但找不到任何匹配的。
我知道我可以定义我的类,该类接受键和值并将其放在 ArrayList 中,但这只是上述类的选项 B。
您在寻找LinkedHashMap吗?
Map 接口的哈希表和链表实现,具有可预测的迭代顺序。
如果适合您的目的,您还可以查看Guava 的 ImmutableMap 。
一个不可变的、基于哈希的 Map,具有可靠的用户指定的迭代顺序。不允许空键或值。
在此处使用 java.util.LinkedHashMap
Javadocs
“这个链表定义了迭代顺序,通常是键插入映射的顺序(插入顺序)”