Java For循环列表删除并发修改异常

时间:2018-08-13 11:00:21

标签: java arrays

对于在其他地方回答过此问题,我深表歉意。我看过但没有找到能解决我的特殊问题的任何东西。

我有两个for循环,用于删除一个客户对象(每个ID仅一个),然后删除具有相同客户ID的后续支持日志对象(每个ID可以多个)。可以很好地删除客户,也删除第一条支持日志,然后完成循环。除了第一个日志仍然存在,我仍然可以支持所有日志,当我尝试删除它们时,我会得到

Exception in thread "main" java.util.ConcurrentModificationException
    at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:866)
    at java.util.ArrayList$Itr.next(ArrayList.java:838)
    at Main.main(Main.java:184)

我在下面添加了我的循环,它可能是一个简单的修复程序,但是我对此很陌生,感谢您的帮助!让我知道您是否需要更多信息。

客户对象删除循环:

for (Customer i : customerList) {
    if (i.getID() == deleteCust) {
        i.setCustDeleted("Deleted");
        customerList.remove(i);
        custDeleteFlag = 1;
        System.out.println("Customer record sucsessfuly deleted.");
        break;
    }
}

客户支持日志对象删除循环:

for (SupportLog i : supportList) {
    if(i.getSupportID() == deleteCust) {
        i.setLogDelete("Deleted");
        supportList.remove(i);
        System.out.println("Customer logs sucsessfuly deleted.");
    }
}

0 个答案:

没有答案