为啥java不要在foreach循环里进行元素的remove/add操作( 二 )
2、假如删除的是“1”的话,第一次循环,执行了remove方法,remove方法会导致size改变(可以看一下remove的源码),第二次循环执行hasNext方法时,hasNext中的cursor != size返回false,不会进入第二次循环,不会执行next方法,因为ConcurrentModificationException是在next方法中抛出的,因此不会抛异常。
■网友
假如这么操作,在每次循环中移除/添加元素,那么在根据数组角标取值的时候是不是会OutOfIndex或者元素不对位?其实可以在循环中添加或者移除元素,不过要特殊处理下,比如移除/添加了一个元素后就跳出去,这样就不会有问题了。
■网友
【为啥java不要在foreach循环里进行元素的remove/add操作】 foreach循环中为什么不要进行remove/add操作 - 丨核桃牛奶 - 博客园
推荐阅读
- 为啥看到书柜上的藏书会有心旷神怡的感觉
- 为啥知乎上普便有一种【我在北上广深打工,所以拥有更好的视野】这样的错觉
- 为啥工商银行的用户体验如此之差
- 汽车|看了中消协4S店服务测评调查结果,终于知道法系车为啥卖不好了
- 你为啥从窝窝商城离职?
- 为啥5G和2.4G默认的BSSID是相同的
- 为啥电器实体店的价格比淘宝贵那么多
- 现在在线学习视频有很多了,为啥大部分人还是喜欢下载下来观看
- dart这编程语言现在发展怎么样了,语法与Java,c#很相似,甚至更简洁
- 为啥到现在你还没有女朋友 ?
