具有键/值对的java集合,并根据插入顺序排序

我想要一些可以插入键/值对的东西,顺序就是我插入项目的顺序。

我看过一些关于地图的post,但似乎我必须为它们编写自己的比较器。

我希望我插入的第一个项目是第一个存储,第二个项目是集合中的第二个项目,等等。

尝试使用javadocs中的LinkedHashMap

Map接口的哈希表和链表实现,具有可预测的迭代顺序此实现与HashMap的不同之处在于它维护了一个贯穿其所有条目的双向链表。 此链接列表定义迭代排序,通常是键插入映射的顺序(插入顺序)。

为什么不创建一个包含键和值的类,然后将它们存储在您最喜欢的List实现中?

 class Pair { Key k; Value v; } List stuff = new ArrayList(); Pair p = new Pair(); ... stuff.add(p); 

好像你需要使用带有名称/值对象的列表

 List values = new Arraylist(); 

然后像使用普通列表一样使用列表

 class NameValuePair { private name; private value; ... get/set } 

LinkedHashMap是您正在寻找的正确类型的数据结构! 因为它扩展了HashMap(允许你在键/值对中有一个元素)并维护一个条目的链表(给你插入顺序)。

还可以查看以下类型的地图以获取更多信息:

https://docs.oracle.com/javase/8/docs/api/

转到AbstractMap并检查这些

HashMap和TreeMap

HashTable- http://docs.oracle.com/javase/7/docs/api/java/util/Hashtable.html