gpt4 book ai didi

java - Java 8 流中没有索引的原因是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:52:01 26 4
gpt4 key购买 nike

我想知道 Java 8 流 ( Stream<E> ),它们有以下方法:

  • forEach(Consumer<? super E> action)
  • forEachOrdered(Consumer<? super E> action)

反对不提供以下签名的理由是什么?

  • forEachOrdered(BiConsumer<Integer, ? super E> action)
    • 然后会返回项目在流中的索引和项目本身。

有了这个重载,就可以在流被排序的情况下实际使用索引。

我真的很想知道反对它的论点是什么。

编辑,这同样适用于 Iterator<E>forEachRemaining ,可能还有更多类(class)。
如果没有一个类提供这样的选项,那么我怀疑它已被考虑用于 Java 8 并被拒绝。

最佳答案

索引每个元素需要顺序分配索引。这将破坏并行操作的意义,因为每个操作都必须同步才能获取其索引。

关于java - Java 8 流中没有索引的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22789413/

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