java设计模式之迭代器模式详解

倾然丶 夕夏残阳落幕 提交于 2020-08-17 17:32:56

文章目录

迭代器模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据。

关键代码:定义接口:hasNext, next。

步骤一:新建接口类
新建myIterator.java

public interface myIterator {
    public boolean hasNext();
    public Object next();
}

步骤二:新建Container.java


public interface Container {
    public myIterator getMyIterator();
}

步骤 2
创建实现了 Container 接口的实体类。该类有实现了 Iterator 接口的内部类 NameIterator。


public class NameContainer implements Container {
    public String names[] = {"Robert" , "John" ,"Julie" , "Lora"};

    @Override
    public myIterator getMyIterator() {
        return new NameIterator();
    }

    private class NameIterator implements myIterator {

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

步骤 3

创建测试类,测试结果


public class IteratorDemo {

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

        for(myIterator iter = nameContainer.getMyIterator(); iter.hasNext();){
            String name = (String)iter.next();
            System.out.println("Name : " + name);
        }
    }
}

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!