gpt4 book ai didi

java - IntStream 逐步迭代

转载 作者:行者123 更新时间:2023-12-01 16:20:34 25 4
gpt4 key购买 nike

如何使用 IntStream 在步骤(3)中迭代一系列数字 (0-100)?

我尝试迭代,但这永远不会停止执行。

IntStream.iterate(0, n -> n + 3).filter(x -> x > 0 && x < 100).forEach(System.out::println)

最佳答案

实际上 range 非常适合此目的。

IntStream.range(0, 100).filter(x -> x % 3 == 0); //107,566 ns/op [Average]
<小时/>

编辑:Holgers 的解决方案是性能最快的解决方案。

由于以下代码行

IntStream.range(0, 100).filter(x -> x % 3 == 0).forEach((x) -> x = x + 2); 

IntStream.range(0, 100 / 3).map(x -> x * 3).forEach((x) -> x = x + 2);

int limit = ( 100 / 3 ) + 1;
IntStream.iterate(0, n -> n + 3).limit(limit).forEach((x) -> x = x + 2);

显示这些基准测试结果

Benchmark                 Mode  Cnt    Score    Error  Units
Benchmark.intStreamTest avgt 5 485,473 ± 58,402 ns/op
Benchmark.intStreamTest2 avgt 5 202,135 ± 7,237 ns/op
Benchmark.intStreamTest3 avgt 5 280,307 ± 41,772 ns/op

关于java - IntStream 逐步迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62296636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com