遍历map集合

来源:互联网 发布:程序员专用键盘 编辑:程序博客网 时间:2024/04/29 20:52

          经常会看到大家在遍历map集合的时候,就去百度。其实我也是如此。我们去百度,不是因为我们不会,而是平时map用的次数不像if、for那么多,以致于写起来还不是很顺手!为了以后写的顺手起来,觉得有必要对map遍历做个小结!

         遍历map无非就那么三种方法(遍历出所有的key-value):通过key找value遍历、在for-each循环中使用entries来遍历、使用Iterator遍历(经多次测试效率最高)!

第一种:通过key找value遍历map

public static void traversalMap1(Map<String,Object> map) {

long startTime = System.currentTimeMillis();

for (String key : map.keySet()) {

Object value = map.get(key);

System.out.println("key:" + key + "|value:" + value);

}

long endTime = System.currentTimeMillis();

System.out.println("通过key找value遍历用时:" + (endTime - startTime));

}  

    第二种:在for-each循环中使用entries来遍历map

public static void traversalMap3(Map<String,Object> map) {

long startTime = System.currentTimeMillis();

for (Entry<String, Object> entry : map.entrySet()) {  

   System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());  

}  

long endTime = System.currentTimeMillis();

System.out.println("通过key找value遍历用时:" + (endTime - startTime));

}

第三种:使用Iterator遍历

public static void traversalMap2(Map<String,Object> map) {

long startTime = System.currentTimeMillis();

Iterator<Entry<String, Object>> entries = map.entrySet().iterator();

while (entries.hasNext()) {

Entry<String, Object> entry = entries.next();

System.out.println("key:" + entry.getKey() + "|value:" + entry.getValue());
}
long endTime = System.currentTimeMillis();
System.out.println("通过key找value遍历用时:" + (endTime - startTime));
}

工作上几年会发现,代码其实大家都会写!这时候就会用速度、效率、质量来衡量我们的实力!


0 0