java - 从 ArrayList 中删除对象时出现 ConcurrentModificationException

标签 java arraylist

我的类(class):

class Game{
     ArrayList<Block> blocks;
public ArrayList<Block> getBlocks(){return blocks;};
}
class Block{
    if(conditon) {
    game.getBlocks().remove(this);
}
}

我有这些类,ArrayList 包含超过 10 个 Block 实例,如果在 Block 类中删除当前 block 的条件为真,我需要从 ArrayList 中删除这个 block ,但我得到了异常..

最佳答案

在迭代 Arraylist 时,您不能删除任何项目。如果你想在迭代时删除一个项目,你可以将删除的项目添加到新创建的 ArrayList 说,。 willBeRemovedList 迭代完成后,您可以一次删除所有列表。

关于java - 从 ArrayList 中删除对象时出现 ConcurrentModificationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20273686/

相关文章:

java - DateTimeFormatter 无法在 Java 8 中解析秒后带小数点 0 的日期

java - addListenerForSingleValueEvent 被多次触发

java - Liberty 空指针异常

java - 使用 MPAndroidChart 使用 double 值创建条形图

java - 如何从android数据库中获取数据到arraylist

java - 将项目添加到数组列表时出现错误

java - 关于 BigDecimal ROUND_DOWN 的问题

java - 无法从循环外部找到循环中的 int

java - 将列表添加到二维 ArrayList

java - 如何在 Java 中生成笛卡尔积?