美文网首页爱编程,爱生活
Java设计模式<迭代器模式>

Java设计模式<迭代器模式>

作者: 熬夜的猫头鹰 | 来源:发表于2018-06-16 15:08 被阅读18次

    Java设计模式<迭代器模式>

    意图

    • 提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示

    场景

    • 遍历一个聚合对象

    优点

    • 访问一个聚合对象的内容而无须暴露它的内部表示
    • 需要为聚合对象提供多种遍历方式
    • 为遍历不同的聚合结构提供一个统一的接口

    代码

    定义迭代接口

    public interface Iterator<E> {
    
        public boolean hasNext();
    
        public E next();
    }
    
    

    定义容器接口

    
    public interface Container<E> {
    
        public Iterator getIterator();
    }
    
    

    定义容器实现类

    public class FruitList<E extends Container> implements Container {
    
        public String names[] = {"apple" , "orange" ,"banner" , "pineapple"};
    
        public Iterator getIterator() {
            return new NameIterator<E>();
        }
    
        private class NameIterator<E> implements Iterator {
    
            int index;
    
            public boolean hasNext() {
                if(index < names.length){
                    return true;
                }
                return false;
            }
    
            public Object next() {
                if(this.hasNext()){
                    return names[index++];
                }
                return null;
            }
        }
    }
    
    
    

    测试类DemoMain

    public class DemoMain {
    
        public static void main(String[] args) {
            FruitList fruitList = new FruitList();
            for (Iterator iter = fruitList.getIterator();iter.hasNext(); ) {
                String name = (String) iter.next();
                System.err.println(name);
            }
        }
    
    }
    
    

    相关文章

      网友评论

        本文标题:Java设计模式<迭代器模式>

        本文链接:https://www.haomeiwen.com/subject/wvdbeftx.html