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

设计模式之迭代器模式

作者: 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