天天看點

HashMap的周遊,entrySet,keySet和foreach(jdk1.8存在)

第一種:

Map map = new HashMap();

Iterator iter = map.entrySet().iterator();

while (iter.hasNext()) {

    Map.Entry entry = (Map.Entry) iter.next();

    Object key = entry.getKey();

    Object val = entry.getValue();

}

 第一種效率高,以後一定要使用此種方式!

第二種:

Map map = new HashMap();

Iterator iter = map.keySet().iterator();

while (iter.hasNext()) {

    Object key = iter.next();

    Object val = map.get(key);

}

第二種效率低,以後盡量少使用! 

      理由:對于keySet其實是周遊了2次,一次是轉為iterator,一次就從HashMap中取出key所對于的value。而entryset隻是周遊了第一次,他把key和value都放到了entry中,周遊的開銷就少很多,是以效率更高。

     ---更新----

第三種:Java8中周遊map簡直太簡單了

Map map = new HashMap(); 

map.forEach((k,v) -> {

    //你想做的事(k就是 map的key ,v 就是value)

})

 ———————————————— 

版權聲明:本文為CSDN部落客「gaojiajie333」的原創文章,遵循CC 4.0 by-sa版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/gaojiajie333/article/details/79353774

繼續閱讀