设计模式之迭代器模式

Posted nce4

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之迭代器模式相关的知识,希望对你有一定的参考价值。

基本思路

  1. Iterator接口中有两个方法
public interface Iterator {
    Object next();
    boolean hasNext();
}
  1. Collection接口
    定义一个返回类型为Iterator的方法
public interface collection {
    public void add(Object o);
    public int size();
    Iterator iterator();
}
  1. 以ArrayList为例
    继承Collection接口,并实现iterator方法。
    返回一个Iterator类型的对象
    // 返回的内容一定是实现了Iterator接口的类的对象,这个类具体是什么名字并不重要。
    public Iterator iterator() {
        return new ArrayListIterator();
    }

Iterator类型的对象,实现了Iterator的接口,并且重写相应的方法。
``` // 返回的内容一定是实现了Iterator接口的类的对象,这个类具体是什么名字并不重要。
public Iterator iterator() {
return new ArrayListIterator();
}

// 使用内部类的形式实现,
private class ArrayListIterator implements Iterator {

    private int current = 0;

    @Override
    public Object next() {
        // TODO Auto-generated method stub
        Object o = objects[current];
        current++;
        return o;
    }

    @Override
    public boolean hasNext() {
        // TODO Auto-generated method stub
        if (current >= index) {
            return false;
        } else {
            return true;
        }
    }

}

```








以上是关于设计模式之迭代器模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式之迭代器模式

设计模式之行为型迭代器模式

设计模式之迭代器模式

设计模式之迭代器模式

JavaScript---设计模式之迭代器模式

设计模式之迭代器模式 Iterator