爱编程,爱生活

Java设计模式<迭代器模式>

2018-06-16  本文已影响18人  熬夜的猫头鹰

Java设计模式<迭代器模式>

意图

场景

优点

代码

定义迭代接口

public interface Iterator<E> {

    public boolean hasNext();

    public E next();
}

定义容器接口


public interface Container<E> {

    public Iterator getIterator();
}

定义容器实现类

public class FruitList<E extends Container> implements Container {

    public String names[] = {"apple" , "orange" ,"banner" , "pineapple"};

    public Iterator getIterator() {
        return new NameIterator<E>();
    }

    private class NameIterator<E> implements Iterator {

        int index;

        public boolean hasNext() {
            if(index < names.length){
                return true;
            }
            return false;
        }

        public Object next() {
            if(this.hasNext()){
                return names[index++];
            }
            return null;
        }
    }
}


测试类DemoMain

public class DemoMain {

    public static void main(String[] args) {
        FruitList fruitList = new FruitList();
        for (Iterator iter = fruitList.getIterator();iter.hasNext(); ) {
            String name = (String) iter.next();
            System.err.println(name);
        }
    }

}

上一篇下一篇

猜你喜欢

热点阅读