永发信息网

求Java高手, 迭代器与for循环的问题

答案:6  悬赏:20  手机版
解决时间 2021-11-17 17:03
求Java高手, 迭代器与for循环的问题
最佳答案
因为方法2是错误的!你一旦进入
if(!w.isLive)
{
this.fio.getH_gun().remove(w);
}
这块代码,就会移掉一个元素,后面的元素会向前移,所有后面的元素的下标会减1,导致接下来的那个元素无法遍历到
你该成
if(!w.isLive)
{
this.fio.getH_gun().remove(w);
i--;
}
或者循环的时候
for(int i=this.fio.getH_gun().size()-1;i>=0; i--)
这样往前循环也是对的

异常肯定会重现,具体原因自己找!
全部回答
- -很久没用了 都忘了
iter1 remove();
this.fio.getH_gun().remove(w);
其实方法2也有,只不过方式不一样,因为你遍历的对象 长度变化了。
迭代器在遍历的时候是不允许修改其长度的
在删除元素的时候,只有迭代器是安全的,可以使用 Iterator 本身的方法 remove() 来删除对象。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
LOL最强王者:6神贾克斯跟蛮王到底谁厉害终于
用k型热电偶测某炉温在冷端20℃下,仪表测得当
爸妈不愿意住在城市一心想要回到农村老家,怎
天园洗衣店地址有知道的么?有点事想过去!
300 200 240的最小公倍数
杉木能不用熏蒸就直接做出口包装箱吗?
高电阻微电流仪器怎么测表面电阻
这个高压铁塔多少伏
我的电脑安装了电池,但是停电的时候还是立刻
依福干洗地址在哪,我要去那里办事,
法硕现在应该怎么复习啊?书看的不怎么明白
沙宣美发连锁机构地址好找么,我有些事要过去
昨天和现在各有什么反义词
“外邪”是什么意思?
赞美厨师的诗句有哪些?
推荐资讯
1977年出生的那一个月,运气最好。
我烤箱新买的,加热管为什么一直亮,不灭,应
求朴有天这张高清原图大图
为什么每次我住宾馆一入神就有关门声
我于2011年在工地上承包一栋商品房的外墙油柒
专项应付款和其他非流动负债属于经营负债啊?
2B铅笔会过期吗?快考试了 3年前的2b铅笔还好
迈腾3.0V6怎么样,维修
58同城 超过工作地址最大数200个是什么意思
什么是学习系统?它包括哪几个基本部分?记忆
日本黑金刚电解电容KXG与KXJ有什么区别
桂林北到金秀有高铁吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?