迭代器模式
来源:互联网 发布:南京未来网络小镇地址 编辑:程序博客网 时间:2024/04/30 03:18
迭代器模式的定义:提供一种顺序访问一个聚合对象中各个元素的方法,但是又不会暴露该对象的内部表示。这个内部表示我的理解就是指向集合的指针,因为一般来讲遍历一个集合必须要像游标遍历结果集一样,迭代器模式就是让外界调用集合的createIterator方法来创建一个接口,这个接口暴露的方法和具体集合无关,然后通过这个接口的实现类和具体聚合对象之间的引用,把这个迭代器和具体聚合对象联系起来。
package com.jerry.design.iterator;import java.util.ArrayList;import java.util.List;// 测试类public class Test {public static void main(String[] args) {String[] s = {"测试一","测试二","测试三","测试四"};Aggregate a = new ConcreteAggregate(s);Iterator it = a.createIterator();it.first();while(it.hasNext()){System.out.println(it.current());it.next();}}}interface Iterator{ public void first(); public void next(); public boolean hasNext(); public Object current();}class ConcreteIterator implements Iterator{private int index = -1;private ConcreteAggregate aggregate;public ConcreteIterator(ConcreteAggregate aggregate) {super();this.aggregate = aggregate;}@Overridepublic void first() {index = 0;}@Overridepublic void next() {if(index<aggregate.size()){index++;}}@Overridepublic boolean hasNext() {int temp = index;if(temp<aggregate.size()){return true;}return false;}@Overridepublic Object current() {return aggregate.get(index);}}interface Aggregate{ public abstract Iterator createIterator();}class ConcreteAggregate implements Aggregate{private String[] s = null;public ConcreteAggregate(String[] s) {super();this.s = s;}@Overridepublic Iterator createIterator() {return new ConcreteIterator(this);}public Object get(int index){if(index<s.length){return s[index];}else{return null;}}public int size(){return s.length;}}
- 行为模式-迭代器模式
- 设计模式-迭代器模式
- 设计模式 迭代器模式
- 设计模式-迭代器模式
- 设计模式--迭代器模式
- 【设计模式】迭代器模式
- 设计模式-迭代器模式
- 设计模式- 迭代器模式
- 设计模式 - 迭代器模式
- 设计模式:迭代器模式
- 行为模式-迭代器模式
- 设计模式 - 迭代器模式
- 设计模式-迭代器模式
- 设计模式--迭代器模式
- 设计模式---迭代器模式
- 设计模式---迭代器模式
- 【设计模式】迭代器模式
- 设计模式 迭代器模式
- platform_device和platform_driver
- gcc 与 g++的区别
- android uri常用用法
- 《认知与设计——理解UI设计准则》笔记(4) 阅读不是自然的
- 那些年,我们一起追过的球队
- 迭代器模式
- Winform加载二进制流的flash
- CSimpleList的实现与测试
- 怎么学习阅读大型项目的代码
- 《认知与设计——理解UI设计准则》笔记(5) 色觉是有限的
- 《认知与设计——理解UI设计准则》笔记(6)我们的边界视力很糟糕
- 毕业论文ppt攻略
- object-c中的self和super
- 《认知与设计——理解UI设计准则》笔记(7) 我们的注意力有限,记忆力也不完美