<分区>
我正在尝试从迭代 ArrayList 中删除一个对象,但不能从循环内部这样做,这是我目前所拥有的
for(Pearl pearl : this.pearls){
pearl.onDraw(canvas);
if(fish.isCollide(pearl)){
this.pearls.remove(pearl);
}
}
如果 ArrayList 大于 1,上述代码将不起作用。
我正在考虑将代码更改为如下内容,但更想知道是否有更简单的方法。
List<Pearl> pearls_delete = new ArrayList<Pearl>();
for(Pearl pearl : this.pearls){
pearl.onDraw(canvas);
if(fish.isCollide(pearl)){
pearls_delete.add(pearl);
}
}
this.pearls.removeAll(pearls_delete);