Map集合的遍歷及比較

2021-07-27 08:16:21 字數 1217 閱讀 8941

在平時開發中,經常會遍歷集合。三大集合list,set,map既可以使用iterator迭代器遍歷也可以使用高階for迴圈(for-each)遍歷。下來我們主要來看看map集合的遍歷。

//map集合的遍歷方式

public static void main(string args)

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

//map集合的第二種遍歷方式:遍歷map集合的所有的value值

for (string value : map.values())

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

//map集合的第三種遍歷方式:直接遍歷鍵值對

for (map.entryentry : map.entryset())

}

/*

k=小公尺,v=雷軍

k=阿里巴巴,v=馬雲

------------------------

v=雷軍

v=馬雲

v=馬化騰

v=李彥巨集

------------------------

k=小公尺,v=雷軍

k=阿里巴巴,v=馬雲

*/

1、這裡的遍歷方式沒有使用iterator迭代器進行遍歷,因為使用的高階for迴圈底層就是按照iterator迭代器遍歷的。當然這也是我們常用的遍歷方式。

2、但是高階for迴圈是否能取代iterator迭代器呢?答案是當然不能取代的,因為iterator迭代器遍歷中有對集合的操作的方法(iterator.remove()),如果不使用該迭代器的方法,操作集合會出現錯誤的。這個時候就只能使用iterator迭代器遍歷集合了。

3、三種遍歷的方式有什麼區別呢?顯而易見我們看得出,第二種遍歷方式只能遍歷map中值得集合,其他兩個都能獲取k-v。但是從效能來講,第三種由於第一種,因為第三種只需要通過一次遍歷就能獲取到集合的鍵值對,而第一種顯示遍歷的k的集合,然後遍歷獲取v的集合,也就是說第一種方式總共遍歷了兩次集合,所以效能稍差。但是獲取k和v比較任性。

遍歷map集合的時候,你會使用哪種遍歷方式呢?沒有特殊需求,我會使用第三種,你們怎麼看?

map集合及遍歷

map集合 該集合儲存鍵值對。一對一對往裡存,而且要保證鍵的唯一性。鍵 就是存的值的編號 值 就是要存放的資料 1.新增 put k key,v value 新增元素,如果出現新增時,相同的鍵,那麼後新增的值會覆蓋原有鍵對應的值,並put方法會返回被覆蓋的值。2.刪除 clear remove ob...

遍歷map集合

map集合的遍歷 mapmap new hashmap map.put 小明 小紅 map.put 小王 小麗 map.put 小李 小美 map.put 小吳 小娜 獲得鍵值對 物件的集合 set set map.entryset for map.entryme set 結果小明 小紅 小李 小美...

map集合的遍歷

map集合的第一種遍歷方式 通過鍵找值的方式 map集合中的方法 set keyset 返回此對映中包含的鍵的 set 檢視。實現步驟 1.使用map集合中的方法keyset 把map集合所有的key取出來,儲存到乙個set集合中 2.遍歷set集合,獲取map集合中的每乙個key 3.通過map集...