关于Java:为什么MAP不维护密钥的排序

Why is map.put not maintaining the ordering of keys

本问题已经有最佳答案,请猛点这里访问。

我定义了一本字典:

Map

然后在代码中,我将向集合添加条目:

1
2
3
4
5
map.put("> 80", // some stream() + lambda based logic for calculating the value part);
map.put("60 - 80", ....);
map.put("40 - 60", ....);
map.put("20 - 40", ....);
map.put(" < 40", ....);

稍后在调试模式中,我看到键的顺序发生了变化。例如,"20-40"是第一个,"60-80"是最后一个。为什么钥匙的顺序会改变?如何维护集合中键的顺序。


如果要维护键的顺序,则应使用LinkedHashMap,默认情况下,它根据键的插入顺序迭代键。