Java重点!迭代器原理,增强for循环

先抛出一个疑问:

用for循环遍历不好吗?

答:

这两个在集合方面迭代du时候是有区别的:比如你要遍历一zhi个集合dao,当满足某条件时候,zhuan删除一个元素,如果用的是for循环,就用集合自带的remove(),而这样就改变了集合的Size()循环的时候会出错但如果把集合放入迭代器,既iterator迭代可以遍历并选择集合中的每个对象而不改变集合的结构,而把集合放入迭代器,用迭代器的remove()就不会出现问题。

它是collection集合的通用获取方式,collect的子集合有很多种,每种集合都有其自身的特型,比如形象比喻成衣柜,药瓶,水,取出或放进去方式都不一样,迭代器就适应各种情况,先判断里面有没有元素,有就取出,再判断,若还有就再取出。这种取出方式就是迭代,
迭代器Interator在collection是一个接口无法直接使用,需要使用它的实现类对象。//用到了多态(接口,实现类对象)
collection集合是一个接口,它内部有一个方法interator(),是返回一个迭代器S实现类对象,Interator<> interator()来返回在此collection上的迭代器
Interator也是有泛型的,它的迭代器类型跟着它走

  • 为什么要用迭代器呢?collection集合中有许多子类。list类可以永get方法获取元素,但是对于另一个分支没有索引的set类系列,就不行了,需
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值