迭代器模式

迭代器模式定义

迭代器模式,提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。

迭代器模式详解

使用场景

  1. 访问一个聚合对象的内容,不需要暴露它的内部表示。
  2. 支持对聚合对象的多种遍历。
  3. 迭代器模式与集合同时存在。

迭代器模式优缺点

优点

  1. 支持以不同的方式遍历一个聚合对象,在同一个聚合对象上可以定义多种遍历方式。
  2. 迭代器简化了聚合类。引入迭代器模式,原有的聚合对象中不需要再自行提供数据遍历访问的方法。
  3. 可以为不同的聚合结构提供一个统一的接口。

缺点

  1. 迭代器模式将存储数据和遍历数据的职责分离开,增加新的聚合类型需要增加对应的新的迭代器类,增加了系统复杂性。

案例

迭代器模式

使用 Java 实现迭代器模式

package net.haicoder.iterator; import java.util.ArrayList; import java.util.List; public class Iterator { public static void main(String[] args) { System.out.println("嗨客网(www,haicoder.net)"); List<Integer> paramList = new ArrayList<>(); paramList.add(1); paramList.add(2); paramList.add(3); print(paramList); } public static void print(List<Integer> list) { java.util.Iterator<Integer> it = list.iterator(); while (it.hasNext()) { Integer num = (Integer) it.next(); System.out.println(num); } } }

迭代器模式总结

设计模式中迭代器模式与集合对象共生共死的,一般的来说,只要我们实现一个集合,那么就要同时提供这个集合的迭代器,但是由于集合和迭代器的关系太亲密了,所以 Java 语言中久已经提供了迭代器 Iterator,以经满足我们需求,不需要我们再自己开发。