1.迭代器模式
迭代器模式(Iterator Pattern)用于顺序访问集合对象的元素,不需要知道集合对象的底层表示,属于行为型模式。
把在元素之间游走的责任交给迭代器,而不是聚合对象。关键代码为定义迭代器的接口:hasNext, next。
2.试验Demo
interface Iterator { public boolean hasNext(); public Object next(); } class NameIterator implements Iterator { private int index; private String array[]; public NameIterator(String[] array) { this.array = array; } public boolean hasNext() { if (index < array.length) { //length是个成员变量,不加() return true; } else { return false; } } public Object next() { if(hasNext()) { return array[index++]; } else { return null; } } } interface Container { public Iterator getIterator(); } class NamePropersity implements Container { private String array[]; public NamePropersity(String array[]) { //通过构造函数将Propersity和Iterator关联起来 this.array = array; } public Iterator getIterator() { return new NameIterator(array); } } public class IteratorPatternDemo { public static void main(String args[]) { String names[] = {"AA", "BB", "CC", "DD", "EE", "FF", "GG", "HH"}; Container container = new NamePropersity(names); /*面向对象编程就不只是从参数传参了,可以直接是某个对象进行调用*/ for (Iterator iterator = container.getIterator(); iterator.hasNext();) { System.out.println("name: " + iterator.next()); } } }
参考:http://www.runoob.com/design-pattern/iterator-pattern.html
本文参考链接:https://www.cnblogs.com/hellokitty2/p/10722705.html