深入理解迭代器模式

Java深入学习 专栏收录该内容
17 篇文章 0 订阅

说到迭代器,肯定会想到java中遍历java.util.ArrayList时用的的java.lang.Iterator,其中的java.lang.Iterator就是使用了迭代器模式,那为什么要使用迭代器模式呢?
答案是为了在不依赖集合对象的情况下能够遍历集合内容,因为java.util.ArrayList只是集合的其中一种实现,请看java集合的大家庭
在这里插入图片描述
所有集合的底层接口java.util.Collection便有这么一个方法接口

/**
 * Returns an iterator over the elements in this collection.  There are no
 * guarantees concerning the order in which the elements are returned
 * (unless this collection is an instance of some class that provides a
 * guarantee).
 *
 * @return an <tt>Iterator</tt> over the elements in this collection
 */
Iterator<E> iterator();

所以在每一个集合的实现中必然拥有一个获得集合的迭代器的方法,这样所有的集合都可以统一使用迭代器顺序遍历所有的元素,外部进行遍历的时候就不需要关心具体使用了那种集合,是ArrayList呢,还是LinkedList,或者说Vector,dont care!
当然除了大小可动态改变的并且存储不同类型的数据的集合的大家庭,还有大小固定而且只能存储相同类型的数据的数组,虽然数组不能通过已有的方法直接得到迭代器去遍历元素,但我们可以使用迭代器模式去设计一个不管是集合还是数组都能得到一个迭代器去顺序遍历所有元素的类。

  • 0
    点赞
  • 1
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值