remove()方法在使用的时候,会删除集合里面对应的index的序号,index后的序号往前移动
我们循环的时候换习惯是 判断若元素为X,删除该集合中的X元素
for(int i=0;i<list.size();i++){
if(list.get(i)==X) list.remove(i);
}
解决方式1:
使用i-- ,同步索引
for(int i=0;i<list.size();i++){
if(list.get(i)==X) list.remove(i–);
}
System.out.println(list);
解决方式2:倒序遍历List
for(int i=list.size()-1;i>=0;i–){
if(list.get(i)==X){
list.remove(i);
}