List删除数据

58 阅读1分钟

错误:

ArrayList arr = new ArrayList();
arr.add(1);
arr.add(2);
arr.add(3);
arr.add(4);

arr.forEach(str ->{
    if(Integer.parseInt(str.toString()) == 2){
        arr.remove(arr.indexOf(str));
    }
});

报错:java.util.ConcurrentModificationException

正确:

ArrayList arr = new ArrayList();
arr.add(1);
arr.add(2);
arr.add(3);
arr.add(4);
Iterator iterator = arr.iterator();
while(iterator.hasNext()){
    if(Integer.parseInt(iterator.next().toString()) == 2){
        iterator.remove();
    }
}