For迴圈和Iterator的效能分析

2021-09-01 12:53:08 字數 1021 閱讀 5409

問同學乙個問題,我有乙個列表,該怎麼遍歷它呢?你會講so easy, 用for呀,所以你會看到如下code:

for

(string item : list)

list

list =

newarraylist

();int i=0;

for(

; i<

10000

; i++

) long currentmills = system.

nanotime()

;for

(string item : list)

system.out.

println

("for spend time");

system.out.

println

(system.

nanotime()

- currentmills)

; long beagin = system.

nanotime()

; iterator

iterator = list.

iterator()

;while

(iterator.

hasnext()

) system.out.

println

("iterator spend time");

system.out.

println

(system.

nanotime()

- beagin)

;}

執行結果如下:

是不是驚喜的發現,使用iterator更快一些。

若您發現有什麼不妥,還請八方支援,筆者感激不盡哦!!

Iterator介面和增強for迴圈小結

使用iterator迭代集合中的元素 public class test1 在使用迭代器的過程中不允許對集合中的元素進行修改,否則會報異常 concurrentmodificationexception for 容器中元素的型別 臨時變數 容器變數 foreach迴圈 public class te...

for迴圈和迭代器 Iterator對比

for each 以用來處理集合中的每個元素而不用考慮集合定下標。就是為了讓用 iterator 簡單。但是刪除的時候,區別就是在 remove,迴圈中呼叫集合remove會導致原集合變化導致錯誤,而應該用迭代器的 remove 方法。for 迴圈和迭代器 iterator對比 採用 arrayli...

使用iterator出現的死迴圈

1 public static void main string args 216 17if string it.next equals yaoyuan 21 22for string string list 2326 在以上 中,若臨時變數s為空的話,則會進入死迴圈。這是由於沒有正確的理解cont...