设计模式(14)-迭代器模式

定义
将对象的遍历委托给容器.
java中的迭代器已经实现的很好,一般不需要自己实现.

1.迭代器接口

//迭代器接口
public interface Iterator {
    public boolean hasNext();
    public Object next();
}

2.容器接口

//容器接口
public interface Container {
    public Iterator getIterator();
}

3.容器实现

public class NameContainer implements Container{
    public String[] names = {"张三","李四","王五","赵六"};

    @Override
    public Iterator getIterator() {
        return new NameIterator();
    }

    private class NameIterator implements Iterator{
        private int index;

        //是否有下一个元素
        @Override
        public boolean hasNext() {
            if(index<names.length){
                return true;
            }
            return false;
        }

        //获取下一个元素
        @Override
        public Object next() {
            if(this.hasNext()){
                return names[index++];
            }
            return null;
        }   
    }
}

4.运行

public class Client {
    public static void main(String[] args) {
        NameContainer nameContainer = new NameContainer();

        for(Iterator iterator = nameContainer.getIterator();iterator.hasNext();){
            String name = (String) iterator.next();
            System.out.println(name);
        }
    }
}

结果:

张三
李四
王五
赵六

猜你喜欢

转载自blog.csdn.net/chixiaoen/article/details/79420044