美文网首页
设计模式之迭代器模式

设计模式之迭代器模式

作者: d93c0d3b5051 | 来源:发表于2018-09-09 10:46 被阅读0次

基本思路

  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的接口,并且重写相应的方法。

    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;
            }
        }

    }

相关文章

网友评论

      本文标题:设计模式之迭代器模式

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