How to transform this code into a stream loop:
for(long l = 1L; l <= 250000; l++) {
v = value.add(BigInteger.valueOf(myMethod.getInt()));
}
I need to get the 'v' as a unique BigInteger value.
Fundamentally, it looks like your myMethod.getInt
method is a generator. Therefore, the best way to do this, in my opinion, is to create an infinite stream from your generator.
IntStream.generate(myMethod::getInt)
.mapToObj(BigInteger::valueOf)
.limit(25000)
.reduce(BigInteger.ZERO, BigInteger::add)
This is clearer because you don't have to specify a range - the range is not what you care about, the number of elements is (i.e. the size of the range). You also don't have to ignore the parameter when you're mapping.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With