首页 java Java Map的五种循环遍历方式和效率高低

Java Map的五种循环遍历方式和效率高低

在编程过程中偶尔要对map进行循环,记不住所以记录一下方便以后查看。

直接上代码

1、keySet的for循环方式


for (String key : map.keySet()) {
    System.out.println(key+":"+map.get(key));
}

2、keySet的iterator迭代器方式


Iterator iterator = map.keySet().iterator();
while (iterator.hasNext()) {
    String key = iterator.next();
    String value = map.get(iterator.next());
    System.out.println(key+":"+value);
}

3、entrySet的for循环方式


for (Entry entry : map.entrySet()) {
    String key = entry.getKey();
    String value = entry.getValue();
    System.out.println(key+":"+value);
}

4、entrySet的iterator迭代器方式


Iterator> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
    String key = iterator.next().getKey();
    String value = iterator.next().getValue();
    System.out.println(key+":"+value);
}

5、JDK1.8以后的forEach方法遍历


Map.forEach((key,value)->{
   System.out.println("key:"+key+",value"+value);
});

性能测试总结

通过相同数量的内容遍历开始到结束的时间对比

结论:

entrySet遍历>keySet遍历

Iterator遍历>foreach

当然了,这只是在小数据量的情况下的结论,大数据的测试未做,以待有心人.

关注本站微信公众号