在增强for循环中使用list.remove(元素)会报错。
解决方法:使用迭代器遍历删除指定元素
List<Integer> list = new ArrayList<>();
list.add(3);
list.add(2);
list.add(4);
list.add(9);
list.add(5);
list.add(8);
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
Integer i= (Integer) iterator.next();
if (i> 5) {
iterator.remove();
}
}
System.out.print(list);
使用iterator可以直接删除并且不会报错。