Java的Map遍历如何保证顺序

avatar
作者
筋斗云
阅读量:0

Java中的Map接口有多个实现类,其中常用的HashMap不保证遍历顺序,而LinkedHashMap和TreeMap可以保证遍历顺序。

如果需要保证Map的遍历顺序,可以使用LinkedHashMap或TreeMap。LinkedHashMap会按照元素插入的顺序进行遍历,而TreeMap会根据键的自然顺序或自定义比较器的顺序进行遍历。

示例代码如下:

// 使用LinkedHashMap保证遍历顺序 Map<String, Integer> linkedHashMap = new LinkedHashMap<>(); linkedHashMap.put("a", 1); linkedHashMap.put("b", 2); linkedHashMap.put("c", 3);  for (Map.Entry<String, Integer> entry : linkedHashMap.entrySet()) {     System.out.println(entry.getKey() + ": " + entry.getValue()); }  // 使用TreeMap保证遍历顺序 Map<String, Integer> treeMap = new TreeMap<>(); treeMap.put("a", 1); treeMap.put("c", 3); treeMap.put("b", 2);  for (Map.Entry<String, Integer> entry : treeMap.entrySet()) {     System.out.println(entry.getKey() + ": " + entry.getValue()); } 

从结果可以看出,LinkedHashMap按照插入顺序输出,而TreeMap按照键的顺序输出。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!