迭代器模式

What

提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。

Why

为容器而生,解决容器的遍历问题。它将对集合进行遍历的功能封装成独立的Iterator。

IN JAVA

Iterable(可迭代)

JAVA中定义了接口 Iterable<T>,实现了这个接口允许对象成为 "foreach" 语句的目标(比如for(String s:strs)),Collection继承了Iterable。
继承或实现该接口,说明对象可迭代。需要实现方法Iterator<E> iterator(),作用返回一个Iterator对象。


Iterator(迭代器)

操作 简述
E next() 返回迭代的下一个元素。
boolean hasNext() 是否还有可迭代元素。
void remove() 从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。

实例

public static <E> void printList(List<E> l){
Iterator<E> iterator = l.iterator();
  while (iterator.hasNext()) {
    E s = iterator.next();
    System.out.println(s);
  }
}

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

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,585评论 18 399
  • 今年给家人买了三个手机,花了一万六。卖掉了两个手机,一个ipad,仅仅回了一千点的血。数码产品就是一个快消品。 今...
    骁龙阅读 1,423评论 0 0
  • 听我妈妈讲,我刚出生时,很多人都觉得我肯定养不活,因为实在是太瘦小了,我妈说当时家里也没有秤,也不知道能有几斤...
    翠霞_0256阅读 3,301评论 0 1
  • 长寿面 & 野生菌 & 饵丝 “长长一根面是长寿面 娃娃吃了也长寿” 环绕入盘中 刷上香油 不黏也不断 一根面下锅...
    明润原生态阅读 1,810评论 0 0
  • 那些往日的忧愁和误伤,在似水流年的荡涤下随波轻轻地逝去,而留下的欢乐和笑靥就在记忆深处历久弥新。留下美好,忘记那些不快。
    岁月静好_87e9阅读 1,562评论 0 0

友情链接更多精彩内容