Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取IntStream.map.forEach的索引?_Java_Java Stream - Fatal编程技术网

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

Java 如何获取IntStream.map.forEach的索引?,java,java-stream,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 一旦你把i映射到i,你就失去了原来的i 您可以删除地图并在forEach中进行计算: 一旦你把i映射到i,你就失去了原来的i 您可以删除地图并在forEach中进行计算: 或者,您可以像这样映射到

我有一行,它打印数字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
一旦你把i映射到i,你就失去了原来的i

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

一旦你把i映射到i,你就失去了原来的i

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


或者,您可以像这样映射到一对键/值:

IntStream.rangeClosed(0, 4)
         .mapToObj(i -> new AbstractMap.SimpleEntry<>(i, i * i))
         .forEach(System.out::println);

或者,您可以像这样映射到一对键/值:

IntStream.rangeClosed(0, 4)
         .mapToObj(i -> new AbstractMap.SimpleEntry<>(i, i * i))
         .forEach(System.out::println);

非常感谢您简短明了的解释,当然也感谢您的回答。非常感谢您简短明了的解释,当然也感谢您的回答。非常好的选择。如果计算不像i*i那么简单,这可能是正确的解决方案。非常感谢。非常好的选择。如果计算不像i*i那么简单,这可能是正确的解决方案。非常感谢你。