Map遍历方法汇总

1、keySet的for循环方式:

Map<String, String> map = new HashMap<>();
map.put("A","a");
map.put("B","b");
map.put("C","c");
for (String key : map.keySet()) {
        String value = map.get(key);
    }

2、keySet的iterator迭代器方式:

Map<String, String> map = new HashMap<>();
map.put("A","a");
map.put("B","b");
map.put("C","c");
Iterator<String> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
     String key = iterator.next();
     String value = map.get(iterator.next());
 }

3、entrySet的for循环方式:

Map<String, String> map = new HashMap<>();
map.put("A","a");
map.put("B","b");
map.put("C","c");
for (Entry<String, String> entry : map.entrySet()) {
      String key = entry.getKey();
       String value = entry.getValue();
   }

4、entrySet的iterator迭代器方式:

Map<String, String> map = new HashMap<>();
map.put("A","a");
map.put("B","b");
map.put("C","c");
Iterator<Entry<String, String>> iterator = map.entrySet().iterator();
    while (iterator.hasNext()) {
        String key = iterator.next().getKey();
        String value = iterator.next().getValue();
    }

总结:

  • entrySet的方式整体都是比keySet方式要高一些;
  • 单纯的获取key来说,两者的差别并不大,但是如果要获取value,还是entrySet的效率会更好,因为keySet需要从map中再次根据key获取value,而entrySet一次都全部获取出来;
  • iterator的迭代器方式比foreach的效率高。
发布了29 篇原创文章 · 获赞 33 · 访问量 5115

猜你喜欢

转载自blog.csdn.net/lxn1214/article/details/104706221
今日推荐