mapmap = new hashmap(){};
map.put("a", "a");
map.put("b", "b");
map.put("c", "c");
//第一種
set set = map.keyset();
iterator it = set.iterator();
while(it.hasnext())
//第二種
set> entryset = map.entryset();
iterator iter = entryset.iterator();
while(iter.hasnext())
//第三種
for(entryentry : map.entryset())
首先,使用entryset比使用keyset的效率要高。所以建議用後2種方法。
第二和第三種的區別其實就是使用迭代器iteratior和使用一般的for語句的區別,和map本身倒沒什麼關係。最簡單的判斷方法,就是對要迭代的內容(本例是個map,如果是乙個list同理),在迴圈過程中,你需要進行add或者remove操作不。for語句的迴圈是不能做這樣的操作的,只能使用迭代器。
不過,個人認為,for語句雖然看上去**少一點,但敲起來沒iterator有感覺
如何遍歷乙個Map
對於j a中map的遍歷方式,很多文章都推薦使用entryset,認為其比keyset的效率高很多。理由是 entryset方法一次拿到所有key和value的集合 而keyset拿到的只是key的集合,針對每個key,都要去map中額外查詢一次value,從而降低了總體效率。那麼實際情況如何呢?為...
java中Map的遍歷
map遍歷的常用方法 mapmap new hashmap map.put 0,zero map.put 1,one map.put 2,two 方法一 最常用的 獲取key值 collectionk map.keyset iteratoritk k.iterator system.out.prin...
Java中的Map遍歷
在map集合中 values 獲取集合中的所有的值,沒有鍵,沒有對應關係 keyset 將map中所有的鍵存入到set集合中。因為set具備迭代器,所以可以用迭代方式取出所有的鍵,再根據get方法,獲取每乙個鍵對應的值。entryset set entryset 返回此對映中包含的對映關係的set檢...