爲什麼ArrayList在使用迭代器迭代元素時不能使用List.remove()刪元素,而是使用Iterator.remove()刪元素

其實,我相信有一定經驗的都已經知道了,把標題的「爲什麼」去掉讀一遍,但是具體是爲什麼?今天本人跟進源碼(jdk7)探了個究竟。注:這篇文章只介紹使用list.remove()拋出ConcurrentModificationException的原因,其它參數及異常不作介紹。 直入主題,首先我們來看下面這段出問題的代碼 下面是運行結果 使用iterator.remove()是沒有問題的,此處就不粘圖了
相關文章
相關標籤/搜索