前面學習總結了list的使用及效率對比,今天總結學習一下鍵值對映關係map,順便學習一下android中使用map需要注意哪些,以及谷歌官方針對android對map做了哪些優化。
map 是一種把鍵物件和值物件對映的集合,它的每乙個元素都包含一對鍵物件和值物件。 map沒有繼承於collection介面 從map集合中檢索元素時,只要給出鍵物件,就會返回對應的值物件。
map是乙個介面,例項化map可以採用下面的方式:
map的基本操作:
這裡以最常用的hashmap為例
新增資料
maphashmap = new hashmap<>();
for (int i = 0; i < maxcount; i++)
遍歷entryset方式
long start = system.currenttimemillis();
for (map.entryentry : hashmap.entryset())
long end = system.currenttimemillis();
log.e(tag, "for-each方式 cost time : " + (end - start));
entryset迭代器遍歷方式
long start1 = system.currenttimemillis();
iterator> entries = hashmap.entryset().iterator();
while (entries.hasnext())
long end1 = system.currenttimemillis();
log.e(tag, "entryset iterator迭代器 cost time : " + (end1 - start1));
鍵找值遍歷
long end1 = system.currenttimemillis();
log.e(tag, "iterator迭代器 cost time : " + (end1 - start1));
long start2 = system.currenttimemillis();
for (integer key : hashmap.keyset())
long end2 = system.currenttimemillis();
log.e(tag, "鍵找值遍歷 cost time : " + (end2 - start2));
keyset迭代器遍歷
long start3 = system.currenttimemillis();
iteratoriterator=hashmap.keyset().iterator();
while (iterator.hasnext())
long end3 = system.currenttimemillis();
log.e(tag, "keyset iterator迭代器 cost time : " + (end3 - start3));
上述四種情況執行結果如下: Map四種遍歷方式
mapmap new hashmap map.put key1 value1 map.put key2 value2 map.put key3 value3 第一種 普遍使用,二次取值 system.out.println 通過map.keyset遍歷key和value for string key...
遍歷Map的四種方式
map集合是鍵值對形式儲存的,對map的遍歷無非就是獲取對應的鍵和值,根據不同的map集合可能會使用不同的遍歷方式,我簡單梳理下對map的遍歷方式。private void testmap 2.通過map.entryset使用iterator遍歷key和value iterator it map.e...
map的四種遍歷方式
mapmap new hashmap map.put 1 t1 map.put 2 t2 map.put 3 t3 第一種 普遍使用,二次取值 system.out.println 通過map.keyset遍歷key和value for string key map.keyset 第二種 syste...