一尘不染

Java如何在HashMap或HashTable中订购商品?

java

我想知道Java在添加项目时如何在MapHashMapHashtable)中对项目进行排序。密钥是按哈希码,内存引用还是分配优先级排序的?

这是因为我注意到中的相同对Map并不总是以相同的顺序排列


阅读 174

收藏
2020-09-09

共1个答案

一尘不染

java.util.HashMap无序的
您不能也不应承担任何其他责任。

此类无法保证地图的顺序。特别是,它不能保证顺序会随着时间的推移保持恒定。

java.util.LinkedHashMap
使用插入顺序。

此实现的不同之处HashMap在于,它维护一个遍历其所有条目的双向链接列表。此链表定义了迭代顺序,通常是将键插入映射的顺序(插入顺序)。

java.util.TreeMap,a
SortedMap,使用键的自然顺序或自定义顺序。

映射是根据其键的自然顺序来排序的,或者根据Comparator在映射创建时提供的映射来排序,具体取决于所使用的构造函数。

2020-09-09