美文网首页Android设计模式
Interator 迭代器模式

Interator 迭代器模式

作者: Charles1993 | 来源:发表于2019-12-07 19:33 被阅读0次

设计原则学习笔记
设计模式学习笔记

作用

针对数据集合,提供一种(若干)忽略集合内部细节以及访问细节的访问方式,从而使访问者与集合解耦。

类图

迭代器模式

Java实现

//定义数据结构
public class Item {
}
//定义迭代器接口
public interface Iterator {
    void moveToFirst();
    void next();
    boolean hasNext();
    Item getItem();
}
//定义创建集合以及迭代器的接口
public interface Aggregate {
    Iterator createIterator();
}
public class ConcreteAggregate implements Aggregate {
    private Item[] items = new Item[]{new Item(), new Item()};
    @Override
    public Iterator createIterator() {
        return new ConcreteIterator(items);
    }
}
//实现具体的迭代器
public class ConcreteIterator implements Iterator {
    private Item[] items;
    private int index;

    ConcreteIterator(Item[] items) {
        this.items = items;
    }

    @Override
    public void moveToFirst() {
        index = 0;
    }

    @Override
    public void next() {
        index++;
    }

    @Override
    public boolean hasNext() {
        return items != null && index > 0 && index < items.length;
    }

    @Override
    public Item getItem() {
        return items[index];
    }
}
// 客户端通过迭代器访问Item
public class Client {
    public static void main(String[] args) {
        Aggregate aggregate = new ConcreteAggregate();
        Iterator iterator = aggregate.createIterator();
        iterator.moveToFirst();
        do {
            Item item = iterator.getItem();
            if (!iterator.hasNext()) {
                break;
            }
            iterator.next();
        } while (true);
    }
}

Android源码中的应用

  • Connection类
  • 数据库游标

相关文章

  • 迭代器模式-interator

    提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该对象的内部结构 迭代器模式的优点: 迭代器模式的缺点:...

  • Interator 迭代器模式

    设计原则学习笔记 设计模式学习笔记 作用 针对数据集合,提供一种(若干)忽略集合内部细节以及访问细节的访问方式,...

  • Interator迭代器

    什么是同步迭代器呢? 举个例子: 这里的 iterator 就是同步迭代器了,每调用一次 next 方法,就返回一...

  • java设计模式-迭代器模式(Interator)

    迭代器模式,属于行为型模式,提供一种方法顺序访问聚合对象的各个元素,而不暴漏该对象的内部表示。 这句话理解起来很容...

  • 常用的集合

    集合的由来 集合框架接口特性 集合中的算法Interator (迭代器) 和Colletions 算法类,也ut...

  • 设计模式(17) 迭代器模式

    迭代器模式 基于IEnumerable的实现 使用场景 迭代器模式的优缺点 迭代器模式 迭代器模式用于顺序访问集合...

  • 第5章 -行为型模式-迭代器模式

    一、迭代器模式的简介 二、迭代器模式的优缺点 三、迭代器模式的实例

  • 行为型模式:迭代器模式

    LieBrother原文:行为型模式:迭代器模式 十一大行为型模式之六:迭代器模式。 简介 姓名 :迭代器模式 英...

  • Iterator模式

    迭代器模式(Iterator模式) 定义: 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 ...

  • 迭代器模式

    一、迭代器模式介绍 二、迭代器模式代码实例

网友评论

    本文标题:Interator 迭代器模式

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