遍历map的三种方式

  第一种:

 Iterator<Map.Entry<String, Integer>> entryIterator = map.entrySet().iterator();
 while (entryIterator.hasNext()) {
     Map.Entry<String, Integer> next = entryIterator.next();
     System.out.println("key=" + next.getKey() + " value=" + next.getValue());
 }

第二种:

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

}

第三种:

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

强烈建议使用第一种 EntrySet 进行遍历。

第一种可以把 key value 同时取出,第二种还得需要通过 key 取一次 value,效率较低, 第三种需要 JDK1.8 以上,通过外层遍历 table,内层遍历链表或红黑树。

posted @ 2018-08-21 16:04  chenfq  阅读(744)  评论(0编辑  收藏  举报