java collection map遍歷效率問題

對於collection(list   set)有兩種遍歷方式,一種for循環遍歷 ,一種使用iterator遍歷。

對於遍歷效率,

arraylist和iterator都是根據下標獲取元素,arraylist使用順序鏈表存儲數據,因此可以直接獲取到元素,而iterator獲取元素之前還需要校驗等;

arraylist使用for循環比使用iterator快


linkedlist使用for循環獲取元素時要累加到i才能獲取到對應元素,而使用iterator則直接利用指針可以立刻定位到元素;

linkedlist使用iterator比使用for循環要快

以上是網上資料提供。


但是根據本人實測,好像都是iterator速度較快,可能是iterator根據此專門做了優化,具體還有待研究


對於map遍歷,一般有三種方式遍歷entrySet()  keySet()  values()

對於map遍歷 ,一般使用較多的就是entrySet()和keySet()這兩種遍歷方式

效率上,entrySet()比keySet()要快些。


發佈了14 篇原創文章 · 獲贊 5 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章