设计模式-迭代器

就是Iterator 遍历用


interface Iterator{
    public Object next();
    public boolean hasNext();
}
class ConcreteIterator implements Iterator{
    private List list = new ArrayList();
    private int cusor =0;
    public ConcreteIterator(List list){
        this.list=list;
    }
    public boolean hasNext(){
        if(cusor == list.size()){
            return false;
        }
        return true;
    }
    public Object next(){
        Object obj =null;
        if(this.hasNext()){
            obj=this.list.get(cusor++);
        }
        return obj;
    }
}

interface Aggregate{
    public void add(Object obj);
    public void remove(Object obj);
    public Iterator iterator();
}

class ConcreteAggregate implements Aggregate{
    private List list = new ArrayList();
    public void add(Object obj){
        list.add(obj);
    }
    public Iterator iterator(){
        return new ConcreteIterator(list);
    }
    public void remove(Object obj){
        list.remove(obj);
    }
}

public class IteratorTest {
    public static void main(String[] args){
        Aggregate ag = new ConcreteAggregate();
        ag.add("A");
        ag.add("B");
        ag.add("C");
        Iterator it =ag.iterator();
        while (it.hasNext()){
            String str =(String) it.next();
            System.out.println(str);
        }
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 目录 本文的结构如下: 引言 什么是迭代器模式 模式的结构 典型代码 代码示例 优点和缺点 适用环境 模式应用 一...
    w1992wishes阅读 596评论 0 1
  • 1.迭代器模式的定义及使用场景定义:迭代器模式又称游标模式,是行为型设计模式之一。其源于对容器的访问,比较java...
    GB_speak阅读 513评论 0 0
  • 前言 Android的设计模式系列文章介绍,欢迎关注,持续更新中: Android的设计模式-设计模式的六大原则一...
    四月葡萄阅读 3,739评论 0 4
  • 一、概念 1.1、定义 用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 Container,容器类:定...
    双鱼子曰1987阅读 218评论 0 0
  • 写作三月份的周期已结束了,每次都会在前一期和后一期之间休息几天,休养生息,好好享受这几天的恬静安然。 可是,习惯了...
    熏莉阅读 280评论 0 0

友情链接更多精彩内容