迭代器模式
来源:互联网 发布:js中用parse判断大小 编辑:程序博客网 时间:2024/05/18 00:46
package iterator;/*** * * 自定义迭代器接口 * @author zw * */public interface MyIterator {void first();void next();boolean hasNext();boolean isFirst();Object getObj();}
package iterator;import java.util.ArrayList;import java.util.List;/*** * 自定义聚合类 * @author zw * */public class CMA {private List<Object> list = new ArrayList<Object>();public void addObject(Object obj) {this.list.add(obj);}public void removeObject(int index) {this.list.remove(index);}public List<Object> getList() {return list;}public void setList(List<Object> list) {this.list = list;}//获得迭代器对象public MyIterator createIterator() {return new ConcreteIterator();}//使用内部类定义迭代器,可以直接使用外部类的属性class ConcreteIterator implements MyIterator{private int cursor;//定义游标用于记录遍历时的位置@Overridepublic void first() {// TODO Auto-generated method stubcursor = 0;}@Overridepublic void next() {// TODO Auto-generated method stubif(cursor<list.size()) {cursor++;}}@Overridepublic boolean hasNext() {// TODO Auto-generated method stubif(cursor<list.size()) {return true;}return false;}@Overridepublic boolean isFirst() {// TODO Auto-generated method stubreturn cursor==0?true:false;}@Overridepublic Object getObj() {// TODO Auto-generated method stubreturn list.get(cursor);}}}
package iterator;public class Client {public static void main(String[] args) {CMA cma = new CMA();cma.addObject("zzz");cma.addObject("ccc");cma.addObject("mmm");MyIterator iter = cma.createIterator();while(iter.hasNext()) {System.out.println(iter.getObj());iter.next();}}}
阅读全文
0 0
- 行为模式-迭代器模式
- 设计模式-迭代器模式
- 设计模式 迭代器模式
- 设计模式-迭代器模式
- 设计模式--迭代器模式
- 【设计模式】迭代器模式
- 设计模式-迭代器模式
- 设计模式- 迭代器模式
- 设计模式 - 迭代器模式
- 设计模式:迭代器模式
- 行为模式-迭代器模式
- 设计模式 - 迭代器模式
- 设计模式-迭代器模式
- 设计模式--迭代器模式
- 设计模式---迭代器模式
- 设计模式---迭代器模式
- 【设计模式】迭代器模式
- 设计模式 迭代器模式
- 操作系统
- Android Webview优化及与Js交互
- 二、JDBC——数据库链接和创建
- 一个简单的SpringMVC实例
- html行内元素和块级元素的区别
- 迭代器模式
- 函数防抖和函数节流
- ASP.NET上传文件
- go context专题(二)- context设计目的和基本数据结构
- 乘法表(百度2016实习生真题)-- java
- 逻辑运算符
- Python __slots__ and __dict__
- SQL SERVER数据库升级
- 集合相减A-B