码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之迭代器模式

时间:2018-09-09 14:52:25      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:inter   vat   tor   else   list   public   OLE   重要   对象   

基本思路

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

}

```

设计模式之迭代器模式

标签:inter   vat   tor   else   list   public   OLE   重要   对象   

原文地址:https://www.cnblogs.com/nce4/p/9612855.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!