Iterator

Iterator

集合学习笔记系列 续更

一、Iterator介绍

接口 Iterator
对 collection 进行迭代的迭代器。迭代器取代了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同:

(1)迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的 collection 移除元素。

(2)方法名称得到了改进。

此接口是 Java Collections Framework 的成员。

二、方法摘要

图2-1

三、方法详细信息

(1)hasNext
boolean hasNext()

如果仍有元素可以迭代,则返回 true。(换句话说,如果 next 返回了元素而不是抛出异常,则返回 true)。

返回:
如果迭代器具有多个元素,则返回 true。

(2)next
E next()
返回迭代的下一个元素。

返回:
迭代的下一个元素。

抛出:
NoSuchElementException - 没有元素可以迭代。

(3)remove
void remove()
从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。每次调用 next 只能调用一次此方法。如果进行迭代时用调用此方法之外的其他方式修改了该迭代器所指向的 collection,则迭代器的行为是不确定的。

抛出:
UnsupportedOperationException - 如果迭代器不支持 remove 操作。
IllegalStateException - 如果尚未调用 next 方法,或者在上一次调用 next 方法之后已经调用了 remove 方法。

四、Iterator遍历实例

Collection coll = new ArrayList();  //创建对象
         coll.add(123); 
         coll.add(456);
         coll.add(new Person("tom",20));
         coll.add(false);
while (iterator.hasNext()){
            System.out.println(iterator.next());

执行结果
图4-1

五、小笔记:

使用iterator中的hasNext()和next()进行遍历流程

图5-1

六、两个常见错误的遍历方法

错误方法一
图6-1
执行结果:
图6-2
错误方法二
图6-3
执行结果:
图6-4

续更

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值