gpt4 book ai didi

java - 是否有 Java 8 等同于内置的 Python enumerate?

转载 作者:太空狗 更新时间:2023-10-29 19:31:53 24 4
gpt4 key购买 nike

3 年前有人在这里问过类似的问题: Is there a Java equivalent of Python's 'enumerate' function?

我非常感谢 listIterator() 解决方案。不过,我现在经常使用新的流和 lambda(在 JDK 8 中引入)并且想知道:是否有一种优雅的方法来获取当前正在处理的元素的索引?我的如下所示,但我觉得它不是特别吸引人。

IntStream.range(0, myList.size())
.mapToObj(i -> doSthWith(myList.get(i), i));

最佳答案

此问题之前已通过多种方式提出过。关键的观察是,除非你有完美的大小和拆分信息(基本上,如果你的源是一个数组),那么这将是一个顺序操作。

您提出的“没有吸引力”的答案:

IntStream.range(0, myList.size())
.mapToObj(i -> doSthWith(myList.get(i), i));
myList 是一个 ArrayList 或其他具有快速 O(1) 索引获取操作的列表时,

实际上非常有效,并且可以干净利落地并行化。所以我觉得没什么不妥。

关于java - 是否有 Java 8 等同于内置的 Python enumerate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23817840/

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