1. 程式人生 > >不要在foreach迴圈裡進行元素的remove/add操作

不要在foreach迴圈裡進行元素的remove/add操作

阿里巴巴java開發手冊的建議
在看阿里巴巴java開發手冊時,有一條建議是這樣的。

【強制】不要在foreach迴圈裡進行元素的remove/add操作。remove元素請使用Iterator方式,如果併發操作,需要對Iterator物件加鎖。

foreach遍歷集合,其實是走的Iterator,首先判斷hasNext(),如果沒有了則終止迴圈,否則next()獲取元素時,next()時,都要check一下集合元素個數是否變化了,如果變化了,則丟擲異常。

具體詳解:https://blog.csdn.net/wangjun5159/article/details/61415358