生成无限DoubleStream

时间:2015-05-02 06:46:30

标签: java java-8 java-stream

我可以使用Stream<Double>生成generate。 E.g。

Stream.generate(Math::random).limit(10).forEach(System.out::println);

如何生成infinte random DoubleStream而不是Stream<Double>

2 个答案:

答案 0 :(得分:10)

您可以使用Random#doubles生成DoubleStream

  

返回有效无限的伪随机双值流,   每个都在零(包括)和一个(不包括)之间。伪随机   生成double值,就好像它是调用方法的结果一样   nextDouble()。

E.g。

new Random().doubles().limit(10).forEach(System.out::println);

答案 1 :(得分:2)

可能你可以试试这个:

   DoubleStream i = DoubleStream.generate(new Random()::nextDouble);
   Stream<Double> o =  i.boxed();
   o.limit(10).forEach(System.out::println);

您可以在此处详细了解(https://docs.oracle.com/javase/8/docs/api/java/util/stream/DoubleStream.html