Java 8 range()列表?

Tad*_*Tad 4 java java-8

for (final A a : listOfAs.getList()) {
 do something (if statement), not using a
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在Java 8中改进此代码?即我想执行一些事情,因为列表中有多少元素,但我不会在循环内部使用元素.例如,python有

for _ in range(n):
Run Code Online (Sandbox Code Playgroud)

Java 8中有类似的东西吗?

谢谢.

Era*_*ran 11

您可以使用IntStream.range:

 IntStream.range(0,listOfAs.getList().size()).forEach(i->{...});
Run Code Online (Sandbox Code Playgroud)

这不会遍历您的列表.

所述forEach的方法IntStream接受一个IntConsumer,这是具有方法的功能的接口void accept(int value).在我的例子中,我提供了一个匹配该接口的lambda表达式.int无论您是否使用索引,都可以获得索引.


eld*_*jon 8

你可以使用着名的for循环:

for(int i = 0; i < listOfAs.getList().size(); i++){
}
Run Code Online (Sandbox Code Playgroud)

这不会遍历列表中的元素.