HashMap<String, String[]> content = new HashMap<String, String[]>();
content.put("Help", new String[]{"About"});
content.put("View", new String[]{"Grid"});
content.put("File", new String[]{"Import", "Export"});
for(String key : content.keySet()){
System.out.println(key);
}
以上代码记录:
View
Help
File
但为什么会这样排序?
答案 0 :(得分:15)
HashMap绝对不保证迭代顺序。当添加新元素时,它甚至可以(并且将会)完全改变。
LinkedHashMap将按照条目放入地图的顺序进行迭代
答案 1 :(得分:3)
您在HashMap
中看到条目的顺序取决于密钥的哈希码和我认为的桶中条目的顺序,它取决于实现,但不依赖于{{ 1}}用于排序。而HashMap
和LinkedHashMap
确实保证了某个订单。