JAVA中foreach循环与普通循环不同的是什么呢?
普通for循环在遍历集合时使⽤下标来定位集合中的元素,java在jdk1.5中开始⽀持foreach循环,foreach在⼀定程度上简化了对集合的遍 历,但是foreach不能完全代替for循环 限制场景: 1、使⽤foreach来遍历集合时,集合必须实现Iterator接⼝,foreach就是使⽤Iterator接⼝来实现对集合的遍历的 2、 在⽤foreach循环遍历⼀个集合时不能向集合中增加元素,不能从集合中删除元素,否则会抛出ConcurrentModificationException异常。抛 出该异常是因为在集合内部有⼀个modCount变量⽤于记录集合中元素的个数,当向集合中增加或删除元素时,modCount也会随之变化,在遍历 开始时会记录modCount的值,每次遍历元素时都会判断该变量是否发⽣了变化,如果发⽣了变化则抛出ConcurrentModificationException异常
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。