1. 程式人生 > >java.util.ConcurrentModificationException 集合remove異常

java.util.ConcurrentModificationException 集合remove異常

List<String> list = new ArrayList<String>();//這是我們的集合list.add(..);//放值for(String str : list) { if(list.constant("232")) { list.remove(str);//移除物件 } }這時候就會報java.util.ConcurrentModificationException的異常原因是,我們對集合進行add,remove時List是動態的,當我們對集合迭代時,我們remove當前元素之後,當程式迭代下一個元素時就會找不到下一個元素的指標,所以會報錯。不管是list set Map 迭代時都會報這樣的錯誤解決方法:List delList = new ArrayList();//用來裝需要刪除的元素List<String> list = new ArrayList<String>();//Z這是我們的集合list.add(..);for(String str : list) { if(list.constant("232")) { list.remove(str);//移除物件 } }list.removeAll(delList);//遍歷完成後執行刪除