gpt4 book ai didi

java - 我如何定义自己的迭代器?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:00:29 24 4
gpt4 key购买 nike

我已经编写了自己的链表类型的数据结构,并希望创建一个允许我迭代列表中的节点的 Iterator 对象。

是否可以直接定义我自己的迭代器,或者我是否需要先将其转换为现有的数据结构,如 LinkedList 并在其上调用 iterator()

最佳答案

您可以通过实现 Iterator interface 的三个方法来定义自己的 Iterator 类:

boolean hasNext();
E next();
void remove();

最后一个方法是可选的:你可以实现它只抛出一个UnsupportedOperationException。 .

最常见的策略是使实际类成为列表类的私有(private)成员类。这样它就可以访问您类(class)的私有(private)簿记数据;这通常是实现高效迭代器所必需的。

一旦你实现了一个迭代器类,让列表类实现Iterable通常是有帮助的。 .这为客户端代码提供了一种获取迭代器的方法。

关于java - 我如何定义自己的迭代器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8287494/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com