首页 > 其他 > 详细

迭代器模式

时间:2019-04-17 12:55:57      阅读:118      评论:0      收藏:0      [点我收藏+]

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!