map集合的4种遍历方式
这里来总结下Map集合的4种遍历方式。
先来初始化一个Map。
Map<Integer, String> map = new HashMap<>(); map.put(1, "a"); map.put(2, "b"); map.put(3, "c"); map.put(4, "c");
第一种遍历方式:通过【Map.keyset()】使用【foreach】遍历key和value。
Set<Integer> set = map.keySet(); // 得到所有key的集合 for (Integer key : set) { String value = map.get(key); System.out.println(key + " " + value); }
也可以简写为(省略变量):
for (Integer key : map.keyset()) { String value = map.get(key); System.out.println(key + " " + value); }
第二种遍历方式:通过【Map.entrySet()】使用【iterator】遍历key和value。
Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<Integer, String> entry = it.next(); System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); }
第三种遍历方式:通过【Map.entrySet()】使用【foreach】遍历key和value。
for (Map.Entry<Integer, String> entry : map.entrySet()) { // Map.entry<Integer, String> 映射项(键-值对) 有几个方法:用上面的名字entry // entry.getKey() ;entry.getValue(); entry.setValue(); // map.entrySet() 返回此映射中包含的映射关系的 Set视图。 System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); }
这种遍历方式据说性能最好,尤其是数据量大的场景下。
第四种遍历方式:通过【Map.values()】使用【foreach】遍历value。
for (String v : map.values()) { System.out.println("value= " + v); }
但是这种方式不能遍历key,只能在不需要遍历key的场景下使用。
"时间的绝情之处是,它让你熬到真相,却不给你任何补偿。"
你要去做一个大人,不要回头,不要难过。