美文网首页
行为型模式 --- 迭代器模式

行为型模式 --- 迭代器模式

作者: 十二找十三 | 来源:发表于2020-09-05 09:23 被阅读0次
    package study.org;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class Demo {
        
        public static void main(String[] args) {
            Aggregate aggregate = new ConcreteAggregate();
            aggregate.add("aaa");
            aggregate.add("bbb");
            aggregate.add("ccc");
            
            Iterator iterator = aggregate.getIterator();
            while (iterator.hashNext()) {
                Object value = iterator.next();
                System.out.println(value);
            }
        }
        
    }
    //抽象迭代器
    interface Iterator {
        Object next();
    
        boolean hashNext();
    }
    
    class ConcreteIterator implements Iterator {
    
        private List<String> list = null;
        private int index = -1;
    
        public ConcreteIterator(List<String> list2) {
            this.list = list2;
        }
    
        @Override
        public Object next() {
            Object object = null;
            if (this.hashNext()) {
                object = list.get(++index);
            }
            return object;
        }
    
        @Override
        public boolean hashNext() {
            if (index < list.size() - 1) {
                return true;
            } else {
                return false;
            }
        }
    
    }
    
    //抽象聚合类
    interface Aggregate {
        void add(String object);
    
        void remove(String object);
    
        Iterator getIterator();
    }
    
    class ConcreteAggregate implements Aggregate {
        private List<String> list = new ArrayList<String>();
    
        @Override
        public void add(String object) {
            list.add(object);
        }
    
        @Override
        public void remove(String object) {
            list.remove(object);
        }
    
        @Override
        public Iterator getIterator() {
            return new ConcreteIterator(list);
        }
    
    }
    
    

    相关文章

      网友评论

          本文标题:行为型模式 --- 迭代器模式

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