如何将for循环转换为流循环

时间:2018-10-30 11:39:52

标签: loops lambda java-8 java-stream

如何将此代码转换为流循环:

for(long l = 1L; l <= 250000; l++) {
     v = value.add(BigInteger.valueOf(myMethod.getInt()));
}

我需要将'v'作为唯一的BigInteger值。

1 个答案:

答案 0 :(得分:3)

BigInteger result = IntStream.range(0, 25000)
  .map(i -> myMethod.getInt())
  .mapToObj(BigInteger::valueOf)
  .reduce(BigInteger.valueOf(0), BigInteger::add)

使用IntStream.generate(myMethod::getInt)limit的另一个答案更为优雅:)