错误的循环删除
代码语言:javascript复制 ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < 5; i ) {
list.add(i);
}
for (Integer integer : list) {
System.out.println(integer);
if(integer.equals(3)){
list.remove(integer);
}
}
System.out.println(list);
使用迭代器的正确删除
代码语言:javascript复制 ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < 5; i ) {
list.add(i);
}
Iterator<Integer> iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
iterator.remove();
}
System.out.println(list);
}
参考:Java中集合foreach删除元素问题