java.util.Random doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)
Description
The doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) method of Random class is an overloaded method of doubles(). This is simply the same as calling DoubleStream doubles(double randomNumberOrigin, double randomNumberBound), the only thing added is the streamsize. In practice I believe that this method is unnecessary as DoubleStream method already has a limit() method which basically function the same.
Method Syntax
public DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)
Method Argument
Data Type | Parameter | Description |
---|---|---|
long | streamSize | the number of values to generate |
double | randomNumberOrigin | the origin (inclusive) of each random value |
double | randomNumberBound | the bound (exclusive) of each random value |
Method Returns
The doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) method of Random class returns a stream of pseudorandom double values, each with the given origin (inclusive) and bound (exclusive)
Compatibility
Java 1.8
Discussion
The method doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) is an overloaded method of doubles() wherein on this method requires three input which is randomNumberOrigin, randomNumberBound and streamSize.
By calling this method a pseudorandom double value is generated as if it’s the result of calling the following method with the origin and bound:
double nextDouble(double origin, double bound) { double r = nextDouble(); r = r * (bound - origin) + origin; if (r >= bound) // correct for rounding r = Math.nextDown(bound); return r; }
Notes:
The following exception can be thrown
IllegalArgumentException – if streamSize is less than zero
IllegalArgumentException – if randomNumberOrigin is greater than or equal to randomNumberBound
Java Random doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) Example
Below is a simple java example on the usage of doubles() method of Random class.
package com.javatutorialhq.java.examples; import java.util.Random; import java.util.function.DoubleConsumer; import java.util.stream.DoubleStream; /* * This example source code demonstrates the use of * doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) * method of Random class. */ public class RandomDoublesStreamSizeExample { public static void main(String[] args) { Random rand = new Random(); DoubleStream ds = rand.doubles(5,1,10); ds.forEach(new DoubleConsumer() { @Override public void accept(double value) { System.out.println(value); } }); } }
On the above example, we have used a value streamSize=5, randomNumberOrigin=1, and randomNumberBound=10. So the result would be a 5 random numbers with range 1 to 10.