我想在arraylist和hashmap中添加值。当我添加值时,我注意到map在前面添加值并最后列出添加值。但我希望两者都以一种方式添加。如何做到这一点。
我要在 hashmap 中添加的值是 4055,5040 而在我的列表中是 20,37
但是,虽然添加列表给出了预期的结果,但映射给我的输出为 5040,4055。
使用LinkedHashMap
而不是HashMap
. 前者保留了元素的插入顺序。
从它的JavaDoc(强调我的):
Map 接口的哈希表和链表实现,具有可预测的迭代顺序。此实现与 HashMap 的不同之处在于它维护一个双向链表,该列表贯穿其所有条目。这个链表定义了迭代顺序,通常是键插入映射的顺序(插入顺序)。
这将使您Map
和您的List
(由 an 支持ArrayList
)具有相同order的元素。
不知道您是如何设计您的应用程序的,但我建议您使用面向接口(Map
、List
等...)而不是类(HashMap
、ArrayList
等...)的程序。更多信息:“编程到接口”是什么意思?