具有键/值对的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
- 使用next()或nextFoo()后,Scanner正在跳过nextLine()?
- java.lang.ClassCastException:org.springframework.security.core.userdetails.User无法强制转换为model.User
- 在multithreading环境中使用HashMap
- 调整窗口大小时,Java Swing绘图消失
- 将Hibernate 3.5.x添加到maven pom.xml构建中
- java 8 switch case默认为类类型的break
- Spring MVC,反序列化单个JSON?
- JPA / Hibernate Embedded id
- JBoss:EAR中的WAR文件在类路径上找不到JAR库