/**
* 使用iterator的方式可以順利刪除和遍歷
(正確方式)
*/public
void
iteratorremove()
}
system.out.println(students);
}
/**
* 使用增強的for迴圈
(錯誤方式)
* 在迴圈過程中從list中刪除非基本資料型別以後,繼續迴圈list時會報concurrentmodificationexception
*/public
void
listremove()
} /**
* 像這種使用增強的for迴圈對list進行遍歷刪除,但刪除之後馬上就跳出的也不會出現異常
*/public
void
listremovebreak()
}
}
/**
* (錯誤方式)
* 這種不使用增強的for迴圈的也可以正常刪除和遍歷,
* 這裡所謂的正常是指它不會報異常,但是刪除後得到的
* 資料不一定是正確的,這主要是因為刪除元素後,被刪除元素後
* 的元素索引發生了變化。假設被遍歷list中共有10個元素,當
* 刪除了第3個元素後,第4個元素就變成了第3個元素了,第5個就變成
* 了第4個了,但是程式下一步迴圈到的索引是第4個,
* 這時候取到的就是原本的第5個元素了。
*/public
void
listremove2()
}
}
List集合遍歷刪除元素
j a三種遍歷如何進行list的遍歷刪除 1 for迴圈 常見錯誤寫法 由於下標問題達不到想要效果 for int i 0 i應該改為 倒序操作避免下標問題 int size list.size for int i size 1 i 0 i 2 增強for迴圈 foreach迴圈 常見錯誤 會丟擲c...
List的遍歷和刪除元素
遍歷list的方法 param args public static void main string args 索引值 i 遞減 優點 可以獲取索引值 可以刪除元素 system.out.println 1.for迴圈 1.2 索引值 i 遞減 for int i list.size 1 i 0 ...
List 迴圈遍歷中刪除元素問題一
這裡以arraylist為例介紹list實現類在迴圈過程刪除元素會遇到的問題。乙個arraylist在迴圈過程中刪除,會不會出問題,為什麼?接下來給大家詳細解釋一下在這個過程中會出現的問題和原因及解決方法。arraylist中的remove方法 注意arraylist中的remove有兩個同名方法,...