如何为IntStream创建StreamSupplier

Sushant Pradhan:

因此,这是我第一次使用Java处理Streams。我首先创建了一个包含1000个数字的IntStream。现在,当我执行多个操作时,我遇到了一个错误。在进一步的研究中,我了解到流在一次遍历后就被消耗了,因此我们需要供应商来进行遍历。我尝试了各种方法,但无法为IntStream数字创建供应商我将不胜感激。请注意,我不需要创建1000个随机数的帮助。相反,我需要帮助来为IntStream创建供应商。


import java.util.Random;
import java.util.stream.IntStream;
import java.util.function.Supplier;
import java.util.stream.Stream;

public class ArrayApplication {

    public static void main(String[] args) {
        Random rand = new Random();
        IntStream numbers = rand.ints(1000, 1, 11);
        Supplier<Stream<Integer>> streamSupplier = () -> numbers.boxed();
        // The statement below works fine
        streamSupplier.get().forEach(System.out::println);
        // The statement below doesn't works 
        System.out.println(streamSupplier.get().count());
        
    }
}

WJS:

你有尝试过吗?

Supplier<IntStream> streamSupplier = () -> rand.ints(1000,1,11);

如果要重复相同的数字,可以将种子设置为“随机”。

Supplier<IntStream> streamSupplier = () -> {
       rand.setSeed(23);
       return rand.ints(1000,1,11);
     };

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章