美文网首页爱编程,爱生活
Java设计模式<迭代器模式>

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

作者: 熬夜的猫头鹰 | 来源:发表于2018-06-16 15:08 被阅读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);
        }
    }

}

相关文章

网友评论

    本文标题:Java设计模式<迭代器模式>

    本文链接:https://www.haomeiwen.com/subject/wvdbeftx.html