首页 > 其他 > 详细

设计模式之迭代器模式

时间:2018-09-09 13:53:13      阅读:125      评论:0      收藏: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的接口,并且重写相应的方法。
``` // 返回的内容一定是实现了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.cnblogs.com/nce4/p/9612855.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!