4.Java设计模式-->迭代器模式
来源:互联网 发布:软件测试实践报告 编辑:程序博客网 时间:2024/06/06 02:04
1.迭代器实例需要的方法
Iterator.javainterface Iterator{ boolean hitEnd();//使用偏移量判断是否到达对象底部 Object getContent();//取出当前元素,偏移量+1 }
2.需要进行迭代的对象实例需要提供的方法
List.javainterface List { void add( Object obj); Object get( int index); int getSize(); Iterator getIterator();//直接在这步填 this ? }
.
.
3.根据需要迭代对象一定拥有的办法,构造具体的迭代器
ConcreteIterator.javapublic class ConcreteIterator{ private List list; private int index; public ConcreteIterator( List list){ super(); this.list = list; } @Override public boolean hitEnd(){ if( index >= list.getSize() ){ return true; }else{ return false; } } @Override public Object getContent(){ Object object = list.get( index); index++; return object; } }
4.构造具体的需要迭代对象
Aggregate.javapublic class Aggregate implements List{ private Object[] list; private size = 0; private index = 0; public Aggregate(){ lists = new Object[100];//先在方法外声明引用类型变量,再在方法内部,用 new 关键字进行堆栈的连接. size=0; index=0; }//初始化变量. //依照超类规定必须实现的方法,依次填充 @Override public Object get( int index){ return lists[ index]; } @Override public void add( Object obj){ list[size++]=obj; } @Override public Iterator getIterator(){ return new ConcreteIterator( this); }
.
.
5.测试
Test.javapublic class Test { pubic static void main( String[] args){ List mList = new Aggregate(); mList.add(1); mList.add("yi"); mList.add("one"); Iterator iter = mList.getIterator(); while( !iter.hitEnd ){ System.out.println( iter.getContent() ); }
阅读全文
0 0
- 4.Java设计模式-->迭代器模式
- 2.Java设计模式-->观察者模式
- 3.Java设计模式-->适配器模式
- Java设计模式--代理模式
- Java设计模式--修饰模式
- Java设计模式--适配器模式
- Java 设计模式-工厂模式
- Java设计模式-单例模式
- Java 设计模式 -单例模式
- Java设计模式-策略模式
- 设计模式-观察者模式(Java)
- java设计模式---迭代器模式
- java设计模式---迭代器模式
- Java设计模式--迭代器模式
- Java设计模式--迭代器模式
- JAVA设计模式--迭代器模式
- java设计模式-------迭代器模式
- 【Java设计模式】- 迭代器模式
- 我的对象怎么了?
- 大型网站架构(五)固若金汤:网站的安全架构
- eclipse常用设置
- 暑假打卡
- 21.系统广播之来电广播
- 4.Java设计模式-->迭代器模式
- MySQL 数据类型
- windows8.1和eclipse的快捷键
- Go游戏服务器开发的一些思考(八):Docker桥接网络及固定IP
- Python--正则表达式
- JZOJ1288.【USACO题库】3.3.1 Riding the Fences骑马修栅栏
- OSAL系统相关问题
- 8.8
- 不带头结点的单链表的实现(C语言)