gpt4 book ai didi

java - 什么是Iterable接口(interface)中的forEach和spliterator,以及如何用链表实现

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:12:50 27 4
gpt4 key购买 nike

我有一个本质上是链表的数据结构,这意味着它的节点包含指向下一个节点的数据。

我研究了在此类上使用 for 循环促进迭代,我发现必须实现 Iterable 接口(interface)。但是,我对如何实现 forEach() 和 spliterator() 以及每个方法的作用感到困惑。

最佳答案

您不必实现 spliterator()forEach()方法。这些方法是在 Java 8 中引入的,它们具有默认实现。

关于他们的工作:

spliterator()创建一个 Spliterator在这个 Iterable 描述的元素之上. Spliterator用于遍历和划分源的元素(例如,可以是集合)。它在 Java 8 中用于创建并行 Stream s 个对象,这将允许您对 Iterable 的项目执行操作并行。

forEach(Consumer action)accept 的所有元素执行操作(通过调用传递给它的 ConsumerIterable 方法) .

它的默认实现行为如下:

 for (T t : this)
action.accept(t);

您只需实现 iterator()方法,返回 Iterator .

当然,您可以在 JavaDoc of Iterable 中阅读所有这些内容.

关于java - 什么是Iterable接口(interface)中的forEach和spliterator,以及如何用链表实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25088919/

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