remove elements from CopyOnWriteArrayList

前端 未结 9 2002
醉酒成梦
醉酒成梦 2020-12-29 09:27

I am getting an exception when I try to remove elements from CopyOnWriteArrayList using an iterator. I have noticed that it is documented

Element-c

9条回答
  •  无人及你
    2020-12-29 10:12

    If you want to delete all use just clear(). If you want to keep elements put them in a temporary ArrayList and get them back from there.

    List tKeepThese= new ArrayList<>();
    for(ListIterator tIter = theCopyOnWriteArrayList; tIter.hasNext();)
    {
        tObject = tIter.next();
        if(condition to keep element)
            tKeepThese.add(tObject);
    }
    theCopyOnWriteArrayList.clear();
    theCopyOnWriteArrayList.addAll(tKeepThese);
    
        

    提交回复
    热议问题