如果我有一个包含 [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 编写自己的迭代器吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!