迭代器模式Iterator
- 定义迭代器的接口,以及对应的hasNext以及next方法
- 注意定义的时候使用泛型,不然接口方法的返回值只能是Object,实际使用的时候还需要强制转换
- 在被迭代的接口里面定义获取迭代器的方法
- 注意使用泛型
- 在需要被迭代的对象里面实现一个具体迭代器,专属于这个对象的迭代器以及对应的迭代方法,每一个对象的迭代遍历的方法应该是不一样
- 注意实现被迭代接口的时候标注的泛型依旧是被迭代对象
- public class MyArrayList<E> implements MyCollection<E>
实现(注意适应泛型)
定义迭代器的抽象方法
1 | package com.deltaqin.designPattern.d06_iterator; |
定义集合的抽象方法
1 | package com.deltaqin.designPattern.d06_iterator; |
在集合内部实现迭代器的具体逻辑
1 | package com.deltaqin.designPattern.d06_iterator; |
测试
1 | package com.deltaqin.designPattern.d06_iterator; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 褚成志的分享站!