我有一個for循環循環遍歷arrayList中的每個元素對它們執行someMethod(),這取決於該方法的結果,我要麼保留或從名單。例如:java - 在arraylist中引用元素,同時刪除一些
int returnResult;
for (int i=0;i<4;i++){
returnResult = someMethod(arrayList.get(i));
if (returnResult == -1){
arrayList.remove(i);
}
}
我的問題是;如果我有5個元素在列表中,並通過循環的第二次迭代(所以當我= 1),我刪除該元素,當我通過第三次迭代將arrayList.get(2)引用實際上是什麼第四元素?即它是否立即減少堆棧大小?
是的,它減少了大小,當你調用'刪除(...)'方法。你的程序會意外結束,但實際上這是預期的結果。 – afzalex 2014-10-19 23:04:27
真棒謝謝你,你知道這是否有辦法嗎? – JabbaWook 2014-10-19 23:06:44
這將是很好,如果有像每個常見的方法文檔......哦,這裏是:http://docs.oracle.com/javase/7/docs/api/java/util/List.html #remove(INT) – Tom 2014-10-19 23:07:29