HashMap的2中遍歷方式比較

2021-08-27 07:03:12 字數 1040 閱讀 2623

[url]

首先我們準備資料,準備乙個map

mapmap = new hashmap();  

for (int i = 0; i < 10; i++)

然後我們採用傳說中的key遍歷:

步驟:先弄成key set,然後遍歷key set 通過key從map中獲取value

iteratoriterator = map.keyset().iterator();  

while (iterator.hasnext())

system.out.println("*********************");

然後我們在採用entryset的方式遍歷下:

步驟:先弄成entryset 然後遍歷他,獲取key和value

set> set = map.entryset();

iterator> s = set.iterator();

while (s.hasnext())

孰優孰劣?

看jdk原始碼,對比兩種訪問方式:

首先看keyset訪問方式:

public setkeyset()

public k next()

public void remove()

};

} public int size()

public boolean contains(object k)

};

} return keyset;

}

也就是呼叫entryset()從entryset中獲取key,也就是說是在entry set的基礎上來做的,貌似多次一舉

結論:通過上述**我們就知道,採用entryset方式要優於keyset,因為keyset首先要訪問entryset來組建乙個keyset,重複工作不言而喻

HashMap的2中遍歷方式比較

首先我們準備資料,準備乙個map mapmap new hashmap for int i 0 i 10 i 然後我們採用傳說中的key遍歷 步驟 先弄成key set,然後遍歷key set 通過key從map中獲取value iteratoriterator map.keyset iterato...

HashMap遍歷方式

hashmaphashmap new hashmap hashmap.put a a hashmap.put b b hashmap.put c c hashmap.put d d 第一種 普遍使用,二次取值 system.out.println 通過map.keyset遍歷key和value fo...

HashMap遍歷方式

hashmap是乙個鍵值對的集合,我們不能通過簡單的迴圈來遍歷hashmap,所以我們一般通過以下兩種方式來遍歷hashmap,一種是通過keyset集合來遍歷,另一種是通過entry鍵值對物件來遍歷。hashmap string string map newhashmap 16 map.put 李...