作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何将此代码转换为流循环:
for(long l = 1L; l <= 250000; l++) {
v = value.add(BigInteger.valueOf(myMethod.getInt()));
}
我需要获取“v”作为唯一的 BigInteger 值。
最佳答案
从根本上来说,您的 myMethod.getInt
方法看起来像是一个生成器。因此,在我看来,最好的方法是 create an infinite stream from your generator .
IntStream.generate(myMethod::getInt)
.mapToObj(BigInteger::valueOf)
.limit(25000)
.reduce(BigInteger.ZERO, BigInteger::add)
这更清楚,因为您不必指定范围 - 范围不是您关心的,而是元素的数量(即范围的大小)。映射时您也不必忽略该参数。
关于loops - 如何将for循环转换为stream循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53063507/
我是一名优秀的程序员,十分优秀!