ArrayList查找和添加元素問題


問題描述:

如上圖所示,如果依靠迭代器在List中查找元素並添加元素,會報錯:java.util.ConcurrentModificationException
原因是在添加元素后,List本身發生了變化,而迭代器是依賴集合的,這樣就會使迭代器發生變化。
總結起來就是:在用迭代器進行遍歷集合的時候,不能通過集合去修改元素

修改方法:

1、使用for循環

備注:這樣還是有問題的,如果要添加的元素和要查找的元素相同,都是world,則一直會找到world元素,該方法會一直添加元素直到內存耗盡,
所以,推薦使用第二種方法(避免了這個問題),見下圖

2、使用List特有迭代器ListIterator,用此迭代器去添加元素(元素添加在查找到的元素后邊)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM