對於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()要快些。