思路:统计不等于x的个数,用k记录不等于x的元素的个数。边统计边把当前元素放在第k个位置上,最后修改表的长度
public static void del(List<Integer> list,int p){
int k=0;
for(int i=0;i<list.size();i++){
if(list.get(i)!=p){
list.set(k, list.get(i));
k++;
}
}
for(int i=list.size()-1;i>=k;i--){
list.remove(i);
}
}
延伸:改变判断条件,可以删除[x,y]之间的所有元素。
补充:打印list的三种方法
第一种:
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}