iterator 计算机程序设计中经常用到的一种设计模式,它提供了一种访问窗口容器内部数据而又不会暴露其数据结构的方法。
一般的iterator模式都包含以下4个角色:
- 迭代器角色(iterator),定义遍历元素的接口 。
- 具体迭代器角色,具体实现 iterator接口的类。
- 容器角色(Container),容器中负责创建迭代器的接口。
- 具体容器角色,容器角色的具体实现者。
Iterator 接口方法( 3 个 ):
- boolean hasNext() ; // 如果有下一个元素,则返回 true
- E next(); // 返回下一个元素对象,如果已到达末尾则抛出 NoSuchElementException 异常,应于 hasNext 方法合用
- void remove() ; // 移除上一个访问的对象,在remove 前应该先 next
例1:简单的 Iterator 举例
输出结果为:
James
tom
John
例 2 : 三个接口方法使用举例
输出结果为 :
James
tom
John
After Remove ...
has : 2
James
tom
例 3 : Iterator 取出集合中的元素是无序的
测试结果:
I
love
java
!!!
exit
显示集合中输入的结果:
love
!!!
java
I