Java设计模式菜鸟系列迭代器模式建模与实现
Posted wgwyanfs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java设计模式菜鸟系列迭代器模式建模与实现相关的知识,希望对你有一定的参考价值。
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39807741
迭代器模式(Iterator):提供了一种方法顺序訪问一个聚合对象中的各个元素,而又不暴露其内部的表示。
一、uml建模:
二、代码实现
/** * 演示样例:迭代器模式 * */ interface Iterator { /** 前移 */ public Object previous(); /** 后移 */ public Object next(); /** 推断是否有下一个元素 */ public boolean hasNext(); } interface Collection { public Iterator iterator(); /** 取得集合中的某个元素 */ public Object get(int i); /** 取得集合大小 */ public int size(); } /** * 集合 */ class MyCollection implements Collection { private String[] strArray = { "aa", "bb", "cc", "dd" }; @Override public Iterator iterator() { return new MyIterator(this); } @Override public Object get(int i) { return strArray[i]; } @Override public int size() { return strArray.length; } } /** * 迭代器 */ class MyIterator implements Iterator { private Collection collection; private int pos = -1; public MyIterator(Collection collection) { this.collection = collection; } @Override public Object previous() { if (pos > 0) { pos--; } return collection.get(pos); } @Override public Object next() { if (pos < collection.size() - 1) { pos++; } return collection.get(pos); } @Override public boolean hasNext() { if (pos < collection.size() - 1) { return true; } return false; } } /** * client測试类 * * @author Leo */ public class Test { public static void main(String[] args) { /** * 实例化容器 */ Collection collection = new MyCollection(); /** * 创建迭代器 */ Iterator iterator = collection.iterator(); /** * 遍历集合中的元素 */ while (iterator.hasNext()) { System.out.println(iterator.next()); } } }
三、应用场景
遍历、訪问集合中的某个元素等
四、总结
迭代器模式就是顺序訪问集合中的对象,这句话包括两层意思:一是须要遍历的对象。即集合对象。二是迭代器对象,用于对集合对象进行遍历訪问。
以上是关于Java设计模式菜鸟系列迭代器模式建模与实现的主要内容,如果未能解决你的问题,请参考以下文章