关于list的remove:
List list=a.getList();
for(int i=0;i
if(list.getName().equals("糖果"){
list.remove(list.get(i));
}
}
以上代码是有问题的,问题的根源在于不可以在遍历list时执行remove方法,遍历时不可以改变ArrayList!!!
根本原因是:list.remove()是删除一个元素,并将其后续元素前移,即,下标减1。
解决方法:
1.新建一个list,将需要的list元素单独存放在其中,而不是直接操作原list;
2.如果执行remove方法,则i--。
List list=a.getList();
for(int i=0;i
}
以上代码是有问题的,问题的根源在于不可以在遍历list时执行remove方法,遍历时不可以改变ArrayList!!!
根本原因是:list.remove()是删除一个元素,并将其后续元素前移,即,下标减1。
解决方法:
1.新建一个list,将需要的list元素单独存放在其中,而不是直接操作原list;
2.如果执行remove方法,则i--。