迭代器模式

来源:互联网 发布:网络冗余技术应用 编辑:程序博客网 时间:2024/06/13 22:37

迭代器模式(Iterator Pattern)属于行为型模式。用于顺序访问集合对象的元素,而且不需要知道集合对象的底层结构。

迭代器接口,定义了访问集合的两个方法

public interface Iterator {    public boolean hasNext();    public Object next();}

获取迭代器的接口,所有集合要实现这个接口

public interface Container {    Iterator getIterator();}

具体的集合

ublic class FoodContainer implements Container {    public String foods[] = {"apple", "banana", "pear"};    @Override    public Iterator getIterator() {        return new foodIterator();    }    // 内部迭代类,实现了迭代接口的两个方法    private class foodIterator implements Iterator {        int index;        @Override        public boolean hasNext() {            if (index < foods.length) {                return true;            }            return false;        }        @Override        public Object next() {            if (this.hasNext()) {                return foods[index++];            }            return null;        }    }}

调用:

FoodContainer foodContainer = new FoodContainer();// 使用迭代器遍历集合对象,不需要知道其内部结构for (Iterator ite = foodContainer.getIterator(); ite.hasNext(); ) {    String food = (String) ite.next();    System.out.println("food : " + food);}

输出结果:

food : applefood : bananafood : pear
原创粉丝点击