java - 如何按顺序遍历地图

Ciu*_*rga -2 java maps

这是代码:

for(String key : mymap.stringPropertyNames()) {
//mycode
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我注意到我以随机顺序获得了我需要的值,有没有办法使用特定顺序遍历地图?

编辑:Mymap是一个properties对象。

Jor*_*lla 6

这是因为您使用的是Map没有排序的HashMap

[...]这个类不保证地图的顺序;特别是,它不保证订单会随着时间的推移保持不变。


取而代之的是,您可以使用一些具体的实现,例如:

TreeMap

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

LinkedHashMap如果你不需要重复...

HashMap接口的表和链表实现,具有可预测的迭代顺序。