作者:wuli空空以空空 | 来源:互联网 | 2023-02-07 17:42
我有一个HashMap定义如下:
public Map staticBlockPositiOns= new HashMap();
我通过获取每个键来迭代地图,如下所示:
for (Integer key : blockPositions.keySet()) {
System.out.println(key);
}
我的问题是,我可以依靠值key
始终按升序排列.所以,如果我的HashMap看起来像这样:
{
4: "abc123",
1: "def456",
11: "qwe789",
10: "iop019"
}
(我知道这是JSON格式,这只是让你了解数据集).
请问我的循环总是输出
1
4
10
11
不管我的数据顺序如何?
需要注意的是,添加密钥的顺序是完全随机的,我无法控制何时添加密钥.
这是一个俄罗斯方块风格的游戏,所以按升序获得键是必须的.
1> Andy Turner..:
引用Javadoc:
这个类不保证地图的顺序; 特别是,它不保证订单会随着时间的推移保持不变.
整数键没有特殊情况.你根本不能依赖订单.
如果您希望键按升序排列,请使用SortedMap
类似的实现TreeMap
.