今天小小的给自己总结一下Map集合的几种常见遍历方式,如下。
遍历entrySet():
这是最常见和最常用的的方式,在 for 循环中使用entrySet()实现 Map 的遍历。
public static void main(String[] args) {
Map<Integer, String> map = new TreeMap<>();
map.put(1, "壹");
map.put(2, "贰");
map.put(3, "叁");
map.put(4, "肆");
//遍历
for (Map.Entry<Integer, String> entry : map.entrySet()) {
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println(key + "--" + value);
}
遍历 key 或者 values :
使用 for-each 循环遍历 key 或者 values,一般适用于只需要 Map 中的 key 或者 value 时使用。性能上比 entrySet 较好。
public static void main(String[] args) {
Map<Integer, String> map = new TreeMap<>();
map.put(1, "壹");
map.put(2, "贰");
map.put(3, "叁");
map.put(4, "肆");
//for-each
//输出键集合
for (Integer key : map.keySet()) {
System.out.println(key);
}
//输出值集合
for (String value : map.values()) {
System.out.println(value);
}
}
通过get()遍历:
该方式通过键找值遍历,这种方式的效率比较低,因为本身从键取值是耗时的操作。
public static void main(String[] args) {
Map<Integer, String> map = new TreeMap<>();
map.put(1, "壹");
map.put(2, "贰");
map.put(3, "叁");
map.put(4, "肆");
//遍历
Set<Integer> keySet = map.keySet();
for (int key : keySet) {
String value = map.get(key);
System.out.println(key + "--" + value);
}