如何使用迭代器从arrayList中删除对象

时间:2019-07-04 14:20:56

标签: java object arraylist collections iterator

我在列表对象中有多个IDCARD对象。我需要根据条件删除IDCARD。

我已经尝试使用2 for(...:...),但是有商品异常。因此,我尝试使用Iterator。

ArrayList<IDCARDS> idcardsListBis = new ArrayList<IDCARDS>(idcardsList);

for (IDCARDS idcards : idcardsListBis) {
// On itere pour chaque idcard du noeud IDCARDS

for (IDCARD idcard : (List<IDCARD>) idcards.getIDCARD()) {
    Iterator<IDCARD> it = idcards.getIDCARD().iterator();
    while(it.hasNext()){
        IDCARD idc = it.next();
        if(idc.getAIRCRAFTMSN().equals("00274")){
                it.remove();
                break;
        }
    }
}
}

我希望得到左边的结果: expected result

目前,我总是有相同的例外:

java.util.ConcurrentModificationException
    at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
    at java.util.ArrayList$Itr.next(Unknown Source)

有什么想法吗?

0 个答案:

没有答案