在遍历 ArrayList 时,不要使用 foreach 循环,因为在删除元素的过程中,foreach 循环会抛出 ConcurrentModificationException 异常。
而使用 for 循环,则可以通过 arrayList.remove 方法来安全地删除元素。另外,当删除元素后,需要将遍历的索引值减 1,否则可能会跳过一些元素或抛出 IndexOutOfBoundsException 异常。给出代码示例:
for (int i = 0; i < arrayList.size(); i++) {
Object obj = arrayList.get(i); // 获取 ArrayList 中索引为 i 的元素
if (obj instanceof YourObjectClass) { // 判断该元素是否为指定类型的对象
YourObjectClass yourObj = (YourObjectClass) obj;
if (yourObj.a == 1) {
arrayList.remove(i); // 删除 ArrayList 中索引为 i 的元素
i--; // 因为删除一个元素后,后面的元素会往前移动,所以需要减少索引值
}
}
}