- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用 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/
我想转换 List到IntStream 。假设我的列表类似于 ["abc", "de", "fghi"] 。然后IntStream我想要的就像 1,1,1,2,2,3,3,3,3 。 (数字 i 在
我使用 Java 8 流代替许多旧式 for 循环来迭代一堆结果并生成摘要统计信息。例如: int messages = IntStream.rangeClosed(0, 7).map(ids::ge
IntStream.range(x,y) 会从 x(inclusive) 和 y(独家)。IntStream.rangeClosed(x,y) 会从 x(inclusive) 和 y(inclusiv
是否可以使用 IntStream 但使用索引遍历 int 数组? 尝试做这样的事情: ByteBuf buf = ...; int[] anArray = ...; IntStream.of(anAr
我已经知道只有 IntStream和 LongStream .我如何制作 IntStream从字节数组? 目前我打算这样做。 static int[] bytesToInts(final byte[]
public static void randomSquare() { int[] array = new Random().ints(10).toArray(); for (int
我有一个接受 ArrayList 的方法的int[]数组。如果我用 ArrayList 调用该方法一个int[]数组,它应该简单地返回 int[] 数组中两个值之间的差。使用流媒体,我已经 stati
我有一小段代码可以计算给定数组中正值、负值和零值的数量。我可以使用 Java 7 轻松完成此操作,方法是迭代数组并计算正值、负值和零值的数量。但是对于Java 8流,在map函数中编写条件是否正确?目
我正在尝试创建一个无限的素数 IntStream,并且它必须很快 - 在几秒钟内生成大约一百万个素数。所以我尝试创建使用过滤器调用生成的流IntStream本身: IntStream primeStr
如何使用 IntStream 在步骤(3)中迭代一系列数字 (0-100)? 我尝试迭代,但这永远不会停止执行。 IntStream.iterate(0, n -> n + 3).filter(x -
Java Instream 我需要二维数组中元素的索引,该数组具有空值。我可以使用对于我在下面做的一维数组,它起作用了: IntStream.range(0, myArr.length)
当你有 Stream.of(1 ,10).reduce(0,(v1, v2) -> v1 + v2); 对比 IntStream.of(1 ,10).reduce(0,(v1, v2) -> v1 +
我写了一些代码来创建一个 List来自Stream>像这样: List abc = stream.flatMap(e -> e.stream()). collect(Collectors.to
使用以下代码,我遇到了以下编译错误。我还尝试使用 input 作为 Integer 列表而不是 int[] 并且它工作正常。如果我使用 boxed(),它也能正常工作。 我的问题真的是,如果是 Int
Java 8 有一个新接口(interface),名为 IntStream。我使用了它的of()静态方法,遇到了一个奇怪的错误: This static method of interface Int
我想创建一个 List数值为 72-129 和 132-200。我考虑过使用 IntStream并将值映射到字符串并收集到列表。我使用了这段代码: List strings72to200 = Stre
如何使用 IntStream 在步骤 (3) 中遍历数字范围 (0-100)? 我试过 iterate,但这永远不会停止执行。 IntStream.iterate(0, n -> n + 3).fil
例子; IntStream a = create(3, 1); // => [0,0,1] IntStream b = create(5, 2); // => [0,0,0,0,2] 第一个流给出
这个问题在这里已经有了答案: Return from lambda forEach() in java (5 个答案) 关闭 5 年前。 下面是我的普通 for 循环,我想重构相同的代码以使用 ja
这个问题在这里已经有了答案: Adding two Java 8 streams, or an extra element to a stream (8 个答案) 关闭 5 年前。 我正在尝试获取某
我是一名优秀的程序员,十分优秀!