迭代器-Collection的遍历

Collection的遍历方式

迭代器遍历

增强for遍历

Lambda表达式遍历

普通的for循环遍历只有List系列集合才能用,Set系列没有索引所以用不了for循环遍历

一,迭代器遍历

 

 

细节1:当指针遍历完元素后会指向一个空位,此时打印指针所指的元素会报错NoSuchElementException 

细节2:当迭代器遍历完成后,指针不会复位 

我们可以看到,当我们要输出指针所指位置是否有元素时,打印false,说明指针所指没有元素,此时我们要第二次遍历集合时就要在获取一个新的迭代器对象

 

细节3:循环中只能使用一次next方法

我们发现当循环中有两个next方法时,一次循环就会获取两个元素指针也会移动两次,当集合中的元素个数为奇数时我们的第二个指针就会指向null,获取不到元素,就会报错

细节4:迭代器遍历时,不能使用集合中的方法进行增加或删除

 出现并发修改异常

不能使用集合方法进行增加或者删除

实在要删除可以使用迭代器提供的remove方法进行删除//如下图

添加暂时没有办法

 

 

 小结

1.迭代器在遍历集合时不依赖索引

2.迭代器需要掌握三个方法:

 3,迭代器的四个细节

     

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值