ruby - Java 8 相当于 ruby​​ each_with_index

标签 ruby java-8 java-stream

我想知道,是否有一些流操作可以像 ruby​​ 中的 each_with_index 那样做。

其中 each_with_index 遍历值以及值的索引。

最佳答案

没有专门用于该目的的流操作。但您可以通过多种方式模仿该功能。

索引变量:以下方法适用于顺序流。

int[] index = { 0 };
stream.forEach(item -> System.out.printf("%s %d\n", item, index[0]++));

外部迭代:以下方法适用于并行流,只要原始集合支持随机访问。

List<String> tokens = ...;
IntStream.range(0, tokens.size()).forEach(
    index -> System.out.printf("%s %d\n", tokens.get(index), index));

关于ruby - Java 8 相当于 ruby​​ each_with_index,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23347982/

相关文章:

ruby-on-rails - 设计 - 如何显示用户的帖子

ruby-on-rails - 有没有办法阻止 rails 记录一切?

java - 重构带有副作用的 for 循环以进行流式传输

java - 并行流中的流操作等到前一个流操作处理完所有元素

java - 为什么 java Stream.sorted() 给出不同的结果?

ruby - 如何在 go 中使用 lookbehind 正则表达式?

ruby - 干 ruby 正则表达式的方法?

java - 进一步并行化两个Java的parallelStream()计算

java - 引用具有指定参数的方法(用于 lambda)

java - 从重复逻辑基于自定义字段的列表中删除重复项