Can we write our own iterator in Java?(我们可以用 Java 编写自己的迭代器吗?)
问题描述
如果我有一个包含 [alice, bob, abigail, charlie]
的列表,并且我想编写一个迭代器,以便它遍历以 'a' 开头的元素,我可以编写自己的吗?我怎样才能做到这一点 ?
If I have a list containing [alice, bob, abigail, charlie]
and I want to write an iterator such that it iterates over elements that begin with 'a', can I write my own ? How can I do that ?
推荐答案
当然.迭代器只是 java 的一个实现.util.Iterator
接口.如果您正在使用来自 java.util
的现有可迭代对象(例如,LinkedList
),则需要对其进行子类化并覆盖其 iterator
函数,以便您返回自己的,或提供一种将标准迭代器包装在您的特殊 Iterator
实例中的方法(其优点是使用更广泛),等等.
Sure. An iterator is just an implementation of the java.util.Iterator
interface. If you're using an existing iterable object (say, a LinkedList
) from java.util
, you'll need to either subclass it and override its iterator
function so that you return your own, or provide a means of wrapping a standard iterator in your special Iterator
instance (which has the advantage of being more broadly used), etc.
这篇关于我们可以用 Java 编写自己的迭代器吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:我们可以用 Java 编写自己的迭代器吗?


- GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
- 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01
- 未找到/usr/local/lib 中的库 2022-01-01
- Eclipse 的最佳 XML 编辑器 2022-01-01
- 如何指定 CORS 的响应标头? 2022-01-01
- java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01
- 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01
- 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
- 转换 ldap 日期 2022-01-01
- 获取数字的最后一位 2022-01-01