ArrayList集合中的删除
错误示范:
ArrayList<Object> objects = new ArrayList<>();
for (int i = 0; i < 10; i++) {
objects.add(i);
}
for (int i = 0; i < 5; i++) {
objects.remove(i);
}
描述:以上先在集合中添加10个元素,然后循环删除前5个,运行结果如下:
1
3
5
7
9
删除后的结果不是我们预期想要的,因为arraylist在做删除的时候,集合在不断地变小,元素会向前移动一位,所以会造成。
正确方式(倒序遍历删除)
ArrayList<Object> objects = new ArrayList<>();
for (int i = 0; i < 10; i++) {
objects.add(i);
}
for (int i = 4; i >= 0; i--) {
objects.remove(i);
}
结果运行正常:
5
6
7
8
9