迭代器 Iterator

简介: 迭代器 Iterator2016-5-7可以这样说,迭代器统一了对容器的访问方式。考虑这样的情景:原本是对着List编码,但是后来发现需要把相同的代码用于Set。我们需要一种不关心容器类型而能够通用的容器访问方法。

迭代器 Iterator

2016-5-7

可以这样说,迭代器统一了对容器的访问方式。

考虑这样的情景:原本是对着List编码,但是后来发现需要把相同的代码用于Set。我们需要一种不关心容器类型
而能够通用的容器访问方法。

Iterator模式是用于遍历集合类的标准访问方法。它可以把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构。
迭代器是一个对象,它的工作是遍历并选中序列中的对象,而客户端程序员不必知道或关心该序列底层的结构。
能将遍历序列的操作与序列底层的机构分离。
而且,创建迭代器的代价很小。

List<Integer> list = new LinkedList<>();
for (int i = 1; i < 6; i++) {
    list.add(i);
}
Iterator iterator = list.iterator();
System.out.println("iterator 本身: " + iterator);
System.out.println(iterator.next());
while (iterator.hasNext()) {
    System.out.print(iterator.next() + " ");
}

输出:

iterator 本身: java.util.LinkedList$ListItr@1540e19d
1
2 3 4 5
目录
相关文章
|
7月前
|
前端开发 UED
除了linear-gradient,还有哪些属性可以实现渐变效果?
CSS提供多种渐变属性:`radial-gradient`实现圆形发散渐变,`conic-gradient`创建环绕中心的色轮效果,`repeating-linear/radial/conic-gradient`则可生成重复的线性、径向或圆锥渐变图案,满足多样化的视觉设计需求,提升页面美观与层次感。(238字)
173 0
|
前端开发 JavaScript 数据库
从零开始搭建创业公司全新技术栈解决方案
创业公司在初期面临的挑战之一就是如何构建一个既能满足当前需求,又能适应未来发展的技术栈。本文将全面探讨从后端到前端,再到云原生技术和AI大模型应用的各个层面,帮助创业者了解如何选择合适的开发语言、框架、工具,以及如何制定有效的开发流程,从而搭建一个强大而稳定的技术体系。
1355 1
从零开始搭建创业公司全新技术栈解决方案
|
数据采集 存储 人工智能
【python】python汽车效能数据集—回归建模(源码+数据集)【独一无二】
【python】python汽车效能数据集—回归建模(源码+数据集)【独一无二】
|
前端开发 JavaScript API
Node.js异步编程
Node.js异步编程
285 0
tp5模型怎么进行删除
tp5模型怎么进行删除
134 0
|
iOS开发
iOS中第三方有序字典框架——M13OrderedDictionary(二)
iOS中第三方有序字典框架——M13OrderedDictionary
686 0
|
关系型数据库 数据安全/隐私保护 MySQL
|
9天前
|
缓存 测试技术 API
Qwen 3.7 Plus 与 Max 实测:性价比与多模态能力差异解析(2026)
2026 年 6 月 1 日,阿里悄无声息地发布了 Qwen 3.7 Plus,距 Qwen 3.7 Max 上线刚好 11 天。同样的 1M 上下文,同样的 35 小时自治上限。但价格才是头条:Plus 是 0.40/M输入,Max是 2.50/M——便宜约 6 倍——并且还能看图、看视频。Vision Arena 上 Plus 已经排到 #16。所以这周真正值得讨论的问题不是”要不要为视觉能力买单”,而是”Max 凭什么用 6 倍价格换来 2 个百分点的 benchmark 领先”。
|
10天前
|
JavaScript 定位技术 API
CodeGraph 爆火:编程 Agent 需要的不是更多上下文,而是一张提前画好的代码地图
CodeGraph 是一款爆火的本地代码智能工具,通过 tree-sitter 解析 AST 构建结构化知识图谱(存于 SQLite),为编程 Agent 提前生成“代码地图”。它显著降低 Agent 在中大型项目中的探索成本——实测工具调用减少71%、Token 降57%、速度提升46%,支持19+语言及主流框架路由识别,完全离线、无需 API Key。
777 11
CodeGraph 爆火:编程 Agent 需要的不是更多上下文,而是一张提前画好的代码地图