JAVA------------三种迭代的能否删除

1.利用for循环来删除

              

        之所以出现两个b连接在一起但是只删除一个b,原因在于指针每次向下移动一位,而第一个b删除一个之后,数组剩下的就要集体向上移动一位补齐,因此第二个b就漏删了。

        改进措施:

         将31行的代码:list.remove(i)改为list.remove(i--)

      总结:for循环可以在循环过程中删除集合元素,但是索引要--

 

2.利用迭代器

 

总结:迭代器可以删除集合元素,但是必须利用迭代器里面自带的删除方法来删除,因为如果用数组里面的删除方法, 就会出现并发修改异常(生成迭代器的时候你告诉我有5个元素,但是你最后删除了一个,肯定不行啊o(╥﹏╥)o)

 

3.增强for循环

   增强for循环不能删除集合里面的元素,原因在于增强for循环里面依赖的是迭代器(理由参照上面的总结)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值