1. 遍历方式一:通过 keySet() 方法获取键集合进行遍历
TreeMap<Integer, String> treeMap = new TreeMap<>();
// 假设已添加数据
for (Integer key : treeMap.keySet()) {
String value = treeMap.get(key);
System.out.println("Key: " + key + ", Value: " + value);
}
2. 遍历方式二:通过 entrySet() 方法获取键值对集合进行遍历
TreeMap<Integer, String> treeMap = new TreeMap<>();
// 假设已添加数据
for (Map.Entry<Integer, String> entry : treeMap.entrySet()) {
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println("Key: " + key + ", Value: " + value);
}
效率差异分析
- keySet() 方式:每次通过 key 获取 value 时,在底层需要进行一次查找操作,时间复杂度相对较高,特别是当 TreeMap 规模较大时。
- entrySet() 方式:直接获取键值对,避免了额外的查找操作,在一般场景下效率更高,尤其是大数据量时优势明显。因为它一次性获取了键和值,减少了操作次数。