java - 如何获取 IntStream.map.forEach 的索引?

标签 java java-stream

我有一行打印数字 0 到 5 的平方:

IntStream.rangeClosed(0, 4).map(i ->i*i).forEach(System.out::println);

输出是

0
1
4
9
16

有没有办法得到如下的输出?

0 :0
1 :1
2 :4
3 :9
4 :16

最佳答案

一旦你将 map ii*i 你就失去了原来的 i

您可以删除 map 并在 forEach 中进行计算:

IntStream.rangeClosed(0, 4).forEach(i -> System.out.println(i + ": " + i*i));

关于java - 如何获取 IntStream.map.forEach 的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43202895/

相关文章:

java - 使用 Joda API 发现奇怪的行为

Java 2D 数组特定移动

java - 使用 Java 正确写入 JSON 中的 URL

java - 根据另一个列表 Java 对列表进行排序

java - 流中间操作排序

java - 加载bean类失败;嵌套异常是 java.io.FileNotFoundException : class path resource cannot be opened because it does not exist

javascript - java POST 415(不支持的媒体类型)

java - 使用 Java 8 流的两个 int 数组的笛卡尔积

java - 从流中过滤可为空的值并更新可为空的属性

java - 并行计算集合的所有排列