Java设计模式之迭代器模式
2017-04-20 22:09
411 查看
一、定义
提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。
二、角色
1、Iterator(抽象迭代器):定义访问和遍历元素的接口。
2、ConcreteIterator (具体迭代器):具体迭代器实现迭代器接口。
3、Aggregate (抽象集合):定义创建相应迭代器对象的接口
4、ConcreteAggregate (具体集合):实现创建相应迭代器的接口,该操作返回ConcreteIterator的一个适当的实例
三、demo
1、抽象迭代器
2、具体迭代器
3、抽象集合类
4、具体集合类
5、客户类
打印结果
提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。
二、角色
1、Iterator(抽象迭代器):定义访问和遍历元素的接口。
2、ConcreteIterator (具体迭代器):具体迭代器实现迭代器接口。
3、Aggregate (抽象集合):定义创建相应迭代器对象的接口
4、ConcreteAggregate (具体集合):实现创建相应迭代器的接口,该操作返回ConcreteIterator的一个适当的实例
三、demo
1、抽象迭代器
package com.example.interator; public interface Iterator<E> { boolean hasNext(); E next(); }
2、具体迭代器
package com.example.interator; import java.util.List; public class ConcreteInterator<E> implements Iterator<E> { private List<E> list; private int cursor = 0; public ConcreteInterator(List<E> list) { this.list = list; } @Override public boolean hasNext() { return cursor < list.size(); } @Override public E next() { E e = null; if (hasNext()) { e = list.get(cursor++); } return e ; } }
3、抽象集合类
package com.example.interator; public interface Aggregate<E> { void add(E e); void remove(E e); Iterator<E> iterator(); }
4、具体集合类
package com.example.interator; import java.util.ArrayList; import java.util.List; public class ConcreteAggregate<E> implements Aggregate<E>{ private List<E> list = new ArrayList<E>(); @Override public void add(E e) { list.add(e); } @Override public void remove(E e) { list.remove(e); } @Override public Iterator<E> iterator() { return new ConcreteInterator<E>(list); } }
5、客户类
package com.example.interator; public class Client { public static void main(String[] args) { ConcreteAggregate<String> aggregate = new ConcreteAggregate<String>(); aggregate.add("aaa"); aggregate.add("bbb"); //遍历 Iterator<String> iterator = aggregate.iterator(); while (iterator.hasNext()) { String result = iterator.next(); System.out.println("结果: " + result); } } }
打印结果
结果: aaa 结果: bbb
相关文章推荐
- 设计模式之迭代器模式java实现代码
- Java设计模式之迭代器模式
- Java开发中的23种设计模式之十六:迭代器模式(Iterator)
- Java设计模式(八)观察者模式 迭代器模式
- JAVA 设计模式 迭代器模式
- JAVA设计模式之迭代器模式
- JAVA设计模式六:--Iterator(迭代器模式)
- 走穿java23种设计模式--17迭代器模式详解
- java设计模式—迭代器模式
- (四)Java设计模式--迭代器模式
- (四)Java设计模式--迭代器模式
- Java设计模式五:迭代器模式(Iterator)
- 【java设计模式】(6)---迭代器模式(案例解析)
- 深入浅出Java设计模式之迭代器模式
- JAVA的23种设计模式---迭代器模式
- Java设计模式五:迭代器模式(Iterator)
- Java设计模式--迭代器模式
- java设计模式之迭代器模式iterator
- Java设计模式菜鸟系列(十一)迭代器模式建模与实现
- Java设计模式之迭代器模式_动力节点Java学院整理