当前位置:编程学习 > JAVA >>

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 ,  非技术区
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,