> 文章列表 > 设计模式 -- 迭代器模式

设计模式 -- 迭代器模式

设计模式 -- 迭代器模式

前言

月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂)

央是一片海洋,海乃百川,代表着一块海绵(吸纳万物)

泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出)

月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容

希望大家一起坚持这个过程,也同样希望大家最终都能从零到零,把知识从薄变厚,再由厚变薄!

一、什么是迭代模式

         迭代器模式是一种设计模式,它提供一种顺序访问集合对象元素的方法,而不需要暴露集合对象的内部表示。迭代器模式的核心是迭代器接口,它定义了访问集合元素的方法,包括获取下一个元素、判断是否还有下一个元素等

二、迭代器模式的优缺点:

优点:

  1. 简化集合类的接口,提高代码的可读性和可维护性;
  2. 支持多种遍历方式,提高代码的灵活性和可扩展性;
  3. 将遍历算法和集合类解耦,提高代码的复用性和可测试性。

缺点:

  1. 代码复杂性:使用迭代器模式会增加代码的复杂度,需要实现迭代器接口和迭代器类,这增加了代码的复杂性和维护成本。

  2. 性能问题:迭代器模式需要额外的内存来存储迭代器对象,而且在迭代过程中需要频繁的创建和销毁迭代器对象,这会影响程序的性能。

  3. 不支持修改操作:迭代器模式只能用于遍历集合中的元素,而不能对集合进行修改操作,如果需要修改集合中的元素,就需要使用其他模式。

三、迭代器模式的结构:

四、迭代器模式实战:

        迭代器模式java里面应该遇到的会非常多,只要是集合里面都会带迭代器,就以list为例:

1.接口Iterabel

2.ArrayList 实现List,而list实现Collection 最终实现了Iterator

 3.使用:

4.结果:

五.总结

迭代器模式的使用场景:

  1. 当需要遍历一个聚合对象的元素时,可以使用迭代器模式。例如遍历一个数组或集合中的元素。

  2. 当需要对不同类型的聚合对象进行遍历时,可以使用迭代器模式。例如遍历一个数组和一个链表中的元素。

  3. 当需要隐藏聚合对象的内部结构,只暴露遍历接口时,可以使用迭代器模式。例如只提供一个迭代器接口,而不暴露聚合对象的具体实现。

  4. 当需要支持多种遍历方式时,可以使用迭代器模式。例如正序遍历、倒序遍历、随机遍历等。

有兴趣的小伙伴们,也可以自己利用java提供的迭代器接口实现自己的迭代器.

: