错误的做法是:
for(int i= 0;i<list.size();i++)
因为在你删除元素的同时list.size()也在变小,这样就会照成越界。
正确做法:因为要删除list里面的多个的值,所以会涉及到一个问题,就是当你删除掉下标为1的元素时,原来下标为2的元素会自动改变自己的下标为1,后面的元素依次把自己的下标值减1,鉴于这种情况,我们想循环删除list中的多个元素的话,就必须从后往前删,这样保障了你删除了一个元素之后,list中元素的下标移动不会影响到那些需要删除,但是还未删除到的以元素.
for(int i= list.size()-1;i>=0;i--)
最后
以上就是大力外套最近收集整理的关于for循环删除list中多个元素出现的误区的全部内容,更多相关for循环删除list中多个元素出现内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复