public static void test1(){
List<Integer> L1 = new ArrayList<Integer>();
for(int i = 0; i < 10; i++)
L1.add(i);
for(int i : L1){
System.out.println(i);
if(i == 8)
L1.remove(i);
}
}以上问题,当我把设置删除条件为if(i == 8)时,则不会报错,而当设为0-7或者9,都会报错,为什么,感觉应该全部会报错的
List<Integer> L1 = new ArrayList<Integer>();
for(int i = 0; i < 10; i++)
L1.add(i);
for(int i : L1){
System.out.println(i);
if(i == 8)
L1.remove(i);
}
}以上问题,当我把设置删除条件为if(i == 8)时,则不会报错,而当设为0-7或者9,都会报错,为什么,感觉应该全部会报错的
{
Integer temp = it.next();
if(temp == 8)
{
it.remove();
}
System.out.println(temp);}
1.过滤。即遍历集合并删除。
2.转换。即遍历集合并修改。
3.平行迭代。即平行的遍历多个集合。
你可以改成普通的for循环,或者有用Iterator接口
public static void test1(){
List<Integer> L1 = new ArrayList<Integer>();
for(int i = 0; i < 10; i++)
L1.add(i);
for(int i=0;i<L1.size();i++){
System.out.println(i);
if(i == 8){
L1.remove(i);//这里的i不是指向值,是下标
i = i -1 ;
}
}
}
for(int i = 0; i< list.size(); i++){
list.remove(i);
i--;
}
int x=0;
for (int i=0;i<L1.size();i++) {
// System.out.println(i);
if (i == 6) {
x=i;
// L1.remove();
}
}
L1.remove(x);