哪一個是更有效? :循環效率對比
ArrayList<Integer> list = new ArrayList<Integer>();
for(int a : list){
log.i(tag, a + "");
}
SparseIntArray list2 = new SparseIntArray();
int count = list2.size();
for(int j = 0; j < count; j++) {
log.i(tag, list2.get(j) + "");
}
或者,有沒有閱讀列表的內容更快的方法?
檢查:http://developer.android.com/guide/practices/design/performance.html#foreach – idiottiger 2012-03-13 03:20:35
請問是否有指標之間的差距,第二個甚至工作?文檔說'list2.size()'返回鍵/值對的數量,而不是最高的索引。意思是,如果你的地圖有兩個條目({100 => 100,200 => 200}),你不會看到它們嗎? – cHao 2012-03-13 03:21:51
@cHao正確,也不一定會遍歷所有的值(除非前面的代碼寫這樣一來,這不是強制執行的),另外,在範圍內的任何丟失的鑰匙將只返回0,這意味着log.i(標籤,「 0「)可能會被稱爲很多。 – Chet 2012-03-13 03:34:11