List.Remove的问题
public static void aMethod(){List list = new ArrayList();
for(int i=0;i<10;i++){
list.add(String.valueOf(i));
System.out.println(i);
}
System.out.println(list.size());
for(int i=0;i<list.size();i++){
list.remove(i);
}
System.out.println(list.size());
}
为什么在只能删除list中序号为奇数项的值? --------------------编程问答-------------------- 你的list.remove(i)在改变容器的大小,导致删除了所有偶数项的对象。你想要做的是什么? --------------------编程问答-------------------- list.remove(i);
这句话是删除所谓为i的那项
当你循环执行一次的时候list的值在变化,索引和值都在变化。
List list = new ArrayList();
for(int i=0;i<10;i++){
list.add(String.valueOf(i));
System.out.println(i);
}
System.out.println(list.size());
for(int i=0;i<list.size();i++){
System.out.println("i:::::"+i);
System.out.println(list);
list.remove(i);
System.out.println(list);
}
System.out.println(list.size());
这样你执行下就明白了 --------------------编程问答-------------------- list.clear();
你相像一下,排一队人,第一个被叫走,剩下的全部向前移动一位,这时再叫第二个走,
补充:Java , 非技术区