RandomGenerator, RandomGenerator.StreamableGenerator
SplittableRandomRandomGeneratorpublic static interface RandomGenerator.SplittableGenerator extends RandomGenerator.StreamableGenerator
 Ideally, all RandomGenerator.SplittableGenerator objects produced by recursive splitting from a single original RandomGenerator.SplittableGenerator object are statistically independent of one another and individually uniform. Therefore we would expect the set of values collectively generated by a set of such objects to have the same statistical properties as if the same quantity of values were generated by a single thread using a single RandomGenerator.SplittableGenerator object. In practice, one must settle for some approximation to independence and uniformity. 
Methods are provided to perform a single splitting operation and also to produce a stream of generators split off from the original (by either iterative or recursive splitting, or a combination).
 Objects that implement RandomGenerator.SplittableGenerator are typically not cryptographically secure. Consider instead using SecureRandom to get a cryptographically secure pseudo-random number generator for use by security-sensitive applications.
RandomGenerator.ArbitrarilyJumpableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.LeapableGenerator, RandomGenerator.SplittableGenerator, RandomGenerator.StreamableGenerator
| Modifier and Type | Method | Description | 
|---|---|---|
| static RandomGenerator.SplittableGenerator | of | |
| default Stream | rngs() | Returns an effectively unlimited stream of new pseudorandom number generators, each of which implements the  RandomGeneratorinterface. | 
| default Stream | rngs | Returns a stream producing the given  streamSizenumber of new pseudorandom number generators, each of which implements theRandomGeneratorinterface. | 
| RandomGenerator.SplittableGenerator | split() | Returns a new pseudorandom number generator, split off from this one, that implements the  RandomGeneratorandRandomGenerator.SplittableGeneratorinterfaces. | 
| RandomGenerator.SplittableGenerator | split | Returns a new pseudorandom number generator, split off from this one, that implements the  RandomGeneratorandRandomGenerator.SplittableGeneratorinterfaces. | 
| default Stream | splits() | Returns an effectively unlimited stream of new pseudorandom number generators, each of which implements the  RandomGenerator.SplittableGeneratorinterface. | 
| Stream | splits | Returns a stream producing the given  streamSizenumber of new pseudorandom number generators, each of which implements theRandomGenerator.SplittableGeneratorinterface. | 
| Stream | splits | Returns a stream producing the given  streamSizenumber of new pseudorandom number generators, each of which implements theRandomGenerator.SplittableGeneratorinterface. | 
| Stream | splits | Returns an effectively unlimited stream of new pseudorandom number generators, each of which implements the  RandomGenerator.SplittableGeneratorinterface. | 
doubles, doubles, doubles, doubles, ints, ints, ints, ints, isDeprecated, longs, longs, longs, longs, nextBoolean, nextBytes, nextDouble, nextDouble, nextDouble, nextExponential, nextFloat, nextFloat, nextFloat, nextGaussian, nextGaussian, nextInt, nextInt, nextInt, nextLong, nextLong, nextLong
static RandomGenerator.SplittableGenerator of(String name)
name - Name of random number generator algorithm
RandomGenerator.SplittableGenerator
NullPointerException - if name is nullIllegalArgumentException - if the named algorithm is not foundRandomGenerator.SplittableGenerator split()
RandomGenerator and RandomGenerator.SplittableGenerator interfaces. This pseudorandom number generator may be used as a source of pseudorandom bits used to initialize the state of the new one.
RandomGenerator and RandomGenerator.SplittableGenerator interfacesRandomGenerator.SplittableGenerator split(RandomGenerator.SplittableGenerator source)
RandomGenerator and RandomGenerator.SplittableGenerator interfaces.source - a RandomGenerator.SplittableGenerator instance to be used instead of this one as a source of pseudorandom bits used to initialize the state of the new ones.RandomGenerator and RandomGenerator.SplittableGenerator interfacesNullPointerException - if source is nulldefault Stream<RandomGenerator.SplittableGenerator> splits()
RandomGenerator.SplittableGenerator interface. This pseudorandom number generator may be used as a source of pseudorandom bits used to initialize the state the new ones.
splits(this).splits (Long.MAX_VALUE).RandomGenerator.SplittableGenerator objectsStream<RandomGenerator.SplittableGenerator> splits(long streamSize)
streamSize number of new pseudorandom number generators, each of which implements the RandomGenerator.SplittableGenerator interface. This pseudorandom number generator may be used as a source of pseudorandom bits used to initialize the state the new ones.
streamSize - the number of values to generateRandomGenerator.SplittableGenerator objectsIllegalArgumentException - if streamSize is less than zeroStream<RandomGenerator.SplittableGenerator> splits(RandomGenerator.SplittableGenerator source)
RandomGenerator.SplittableGenerator interface.splits (Long.MAX_VALUE, source).source - a RandomGenerator.SplittableGenerator instance to be used instead of this one as a source of pseudorandom bits used to initialize the state of the new ones.RandomGenerator.SplittableGenerator objectsNullPointerException - if source is nullStream<RandomGenerator.SplittableGenerator> splits(long streamSize, RandomGenerator.SplittableGenerator source)
streamSize number of new pseudorandom number generators, each of which implements the RandomGenerator.SplittableGenerator interface.streamSize - the number of values to generatesource - a RandomGenerator.SplittableGenerator instance to be used instead of this one as a source of pseudorandom bits used to initialize the state of the new ones.RandomGenerator.SplittableGenerator objectsIllegalArgumentException - if streamSize is less than zeroNullPointerException - if source is nulldefault Stream<RandomGenerator> rngs()
RandomGenerator interface. Ideally the generators in the stream will appear to be statistically independent.rngs in interface RandomGenerator.StreamableGenerator
splits().RandomGenerator interfacedefault Stream<RandomGenerator> rngs(long streamSize)
streamSize number of new pseudorandom number generators, each of which implements the RandomGenerator interface. Ideally the generators in the stream will appear to be statistically independent.rngs in interface RandomGenerator.StreamableGenerator
splits(streamSize).streamSize - the number of generators to generateRandomGenerator interfaceIllegalArgumentException - if streamSize is less than zero
    © 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
    https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/random/RandomGenerator.SplittableGenerator.html