关于list的remove

来源:互联网 发布:知乎豆瓣贴吧猫扑三观 编辑:程序博客网 时间:2024/06/05 00:16
关于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--。
0 0
原创粉丝点击