- 所有超级接口:
-
RandomGenerator
- 所有已知子接口:
-
RandomGenerator.ArbitrarilyJumpableGenerator
,RandomGenerator.JumpableGenerator
,RandomGenerator.LeapableGenerator
,RandomGenerator.SplittableGenerator
- 所有已知实现类:
-
SplittableRandom
- 封装接口:
-
RandomGenerator
RandomGenerator.StreamableGenerator
接口扩展了 RandomGenerator
接口,提供返回 RandomGenerator
对象流的方法。理想情况下,这样的对象流应具有每个对象的行为在统计上独立于其他所有对象的特性。实际上,可能需要接受对此特性的某种近似。
实现了 RandomGenerator.SplittableGenerator
接口的生成器可以选择使用其 splits
() 方法来实现此接口所需的 rngs
() 方法。
实现了 RandomGenerator.JumpableGenerator
接口的生成器可以选择使用其 jumps
() 方法来实现此接口所需的 rngs
() 方法。
实现了 RandomGenerator.LeapableGenerator
接口的生成器可以选择使用其 leaps
() 方法来实现此接口所需的 rngs
() 方法。
实现了 RandomGenerator.StreamableGenerator
的对象通常不具有密码学安全性。考虑改用 SecureRandom
来获取密码学安全的伪随机数生成器,供安全敏感应用程序使用。
-
Nested Class Summary
Nested classes/interfaces declared in interface java.util.random.RandomGenerator
RandomGenerator.ArbitrarilyJumpableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.LeapableGenerator, RandomGenerator.SplittableGenerator, RandomGenerator.StreamableGenerator
-
Method Summary
Modifier and TypeMethodDescriptionrngs()
返回一个有效无限的对象流,每个对象实现RandomGenerator
接口。default Stream
<RandomGenerator> rngs
(long streamSize) 返回一个有效无限的对象流,每个对象实现RandomGenerator
接口。Methods declared in interface java.util.random.RandomGenerator
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
-
Method Details
-
of
- 参数:
-
name
- 随机数生成器 算法 的名称 - 返回:
-
RandomGenerator.StreamableGenerator
的一个实例 - 抛出:
-
NullPointerException
- 如果名称为 null -
IllegalArgumentException
- 如果找不到指定的算法
-
rngs
Stream<RandomGenerator> rngs()返回一个有效无限的对象流,每个对象实现RandomGenerator
接口。理想情况下,流中的生成器将表现为统计上独立。新生成器与此生成器具有相同的 算法。- 实现说明:
-
可以以等效于
rngs
(Long.MAX_VALUE
) 的方式实现此方法。 - 返回:
-
一个实现
RandomGenerator
接口的对象流
-
rngs
返回一个有效无限的对象流,每个对象实现RandomGenerator
接口。理想情况下,流中的生成器将表现为统计上独立。新生成器与此生成器具有相同的 算法。- 实现要求:
-
默认实现调用
rngs
(),然后将其长度限制为streamSize
。 - 参数:
-
streamSize
- 要生成的生成器数量 - 返回:
-
一个实现
RandomGenerator
接口的对象流 - 抛出:
-
IllegalArgumentException
- 如果streamSize
小于零
-