为什么map.put没有维护键的顺序

时间:2015-02-26 14:35:05

标签: java dictionary

我已经定义了一个词典:

  

Map<String, Integer>

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

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”是最后。为什么键的顺序会发生变化?如何维护集合中键的顺序。

1 个答案:

答案 0 :(得分:3)

如果您希望维护密钥的顺序,则应使用LinkedHashMap,默认情况下,根据其插入顺序迭代密钥。