java.lang.Object
|---java.util.SplittableRandom
public final class SplittableRandom
extends Object
适用于(在其他上下文中)可能生成子任务的隔离并行计算的统一伪随机值生成器。 SplittableRandom 类支持产生 int、long 和 double 类型的伪随机数的方法,其用法与类 Random 类似,但在以下方面有所不同:
SplittableRandom 的实例在密码学上不是安全的。 考虑在安全敏感的应用程序中使用 SecureRandom。 此外,默认构造的实例不使用加密随机种子,除非 System#getProperty java.util.secureRandomSeed 设置为 true。
构造函数 | 描述 |
---|---|
SplittableRandom() | 创建一个新的 SplittableRandom 实例,该实例可能生成在统计上独立于当前程序中任何其他实例的值序列; 并且可能并且通常确实会因程序调用而异。 |
SplittableRandom(long seed) | 使用指定的初始种子创建一个新的 SplittableRandom 实例。 |
修饰符和类型 | 方法 | 描述 |
---|---|---|
DoubleStream | doubles() | 从这个生成器和/或从它的一个拆分返回一个有效无限的伪随机双值流; 每个值都介于零(包括)和一(不包括)之间。 |
DoubleStream | doubles(double randomNumberOrigin, double randomNumberBound) | 从这个生成器和/或从它的一个拆分返回一个有效无限的伪随机双值流; 每个值都符合给定的原点(包括)和绑定(不包括)。 |
DoubleStream | doubles(long streamSize) | 返回一个流,该流产生给定的 streamSize 数量的伪随机双精度值,从这个生成器和/或一个拆分; 每个值都介于零(包括)和一(不包括)之间。 |
DoubleStream | doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) | 返回一个流,该流产生给定的 streamSize 数量的伪随机双精度值,从这个生成器和/或一个拆分; 每个值都符合给定的原点(包括)和绑定(不包括)。 |
IntStream | ints() | 从这个生成器和/或从它的一个拆分返回一个有效无限的伪随机 int 值流。 |
IntStream | ints(int randomNumberOrigin, int randomNumberBound) | 从这个生成器和/或从它的一个拆分返回一个有效无限的伪随机 int 值流; 每个值都符合给定的原点(包括)和绑定(不包括)。 |
IntStream | ints(long streamSize) | 返回一个流,该流产生给定的 streamSize 数量的伪随机 int 值,从这个生成器和/或从中拆分出来。 |
IntStream | ints(long streamSize, int randomNumberOrigin, int randomNumberBound) | 返回一个流,该流产生给定的 streamSize 数量的伪随机 int 值,从这个生成器和/或从它的一个拆分; 每个值都符合给定的原点(包括)和绑定(不包括)。 |
LongStream | longs() | 从这个生成器和/或从它的一个拆分返回一个有效无限的伪随机长值流。 |
LongStream | longs(long streamSize) | 返回一个流,该流产生给定的 streamSize 数量的伪随机 long 值,从这个生成器和/或从它的一个拆分。 |
LongStream | longs(long randomNumberOrigin, long randomNumberBound) | 从这个生成器和/或从它的一个拆分返回一个有效无限的伪随机长值流; 每个值都符合给定的原点(包括)和绑定(不包括)。 |
LongStream | longs(long streamSize, long randomNumberOrigin, long randomNumberBound) | 返回一个流,该流产生给定的 streamSize 数量的伪随机长值,从这个生成器和/或从中拆分出来; 每个值都符合给定的原点(包括)和绑定(不包括)。 |
boolean | nextBoolean() | 返回一个伪随机布尔值。 |
double | nextDouble() | 返回零(包括)和一(不包括)之间的伪随机双精度值。 |
double | nextDouble(double bound) | 返回介于 0.0(包括)和指定边界(不包括)之间的伪随机双精度值。 |
double | nextDouble(double origin, double bound) | 返回指定原点(包括)和边界(不包括)之间的伪随机双精度值。 |
int | nextInt() | 返回一个伪随机 int 值。 |
int | nextInt(int bound) | 返回零(包括)和指定边界(不包括)之间的伪随机 int 值。 |
int | nextInt(int origin, int bound) | 返回指定原点(包括)和指定边界(不包括)之间的伪随机 int 值。 |
long | nextLong() | 返回一个伪随机长值。 |
long | nextLong(long bound) | 返回零(包括)和指定边界(不包括)之间的伪随机长值。 |
long | nextLong(long origin, long bound) | 返回指定原点(包括)和指定边界(不包括)之间的伪随机长值。 |
SplittableRandom | split() | 构造并返回一个新的 SplittableRandom 实例,该实例不与此实例共享可变状态。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
public SplittableRandom(long seed)
使用指定的初始种子创建一个新的 SplittableRandom 实例。 在同一程序中使用相同种子创建的 SplittableRandom 实例会生成相同的值序列。
参数:
参数名称 | 参数描述 |
---|---|
seed | 最初的种子 |
public SplittableRandom()
创建一个新的 SplittableRandom 实例,该实例可能生成在统计上独立于当前程序中任何其他实例的值序列; 并且可能并且通常确实会因程序调用而异。
public SplittableRandom split()
构造并返回一个新的 SplittableRandom 实例,该实例不与此实例共享可变状态。 但是,两个对象共同生成的值集具有非常高的概率具有相同的统计属性,就好像单个线程使用单个 SplittableRandom 对象生成相同数量的值一样。 可以使用 split() 方法进一步拆分两个对象中的一个或两个,并且相同的预期统计属性适用于通过这种递归拆分构造的整个生成器集。
返回:
新的 SplittableRandom 实例
public int nextInt()
返回一个伪随机 int 值。
返回:
一个伪随机 int 值
public int nextInt(int bound)
返回零(包括)和指定边界(不包括)之间的伪随机 int 值。
参数:
参数名称 | 参数描述 |
---|---|
bound | 上限(不包括)。 必须是积极的。 |
返回:
零(包括)和边界(不包括)之间的伪随机 int 值
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 bound 不是正数 |
public int nextInt(int origin, int bound)
返回指定原点(包括)和指定边界(不包括)之间的伪随机 int 值。
参数:
参数名称 | 参数描述 |
---|---|
origin | 返回的最小值 |
bound | 上限(不包括) |
返回:
原点(包括)和边界(不包括)之间的伪随机 int 值
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 origin 大于或等于 bound |
public long nextLong()
返回一个伪随机长值。
返回:
伪随机长值
public long nextLong(long bound)
返回零(包括)和指定边界(不包括)之间的伪随机长值。
参数:
参数名称 | 参数描述 |
---|---|
bound | 上限(不包括)。 必须是积极的。 |
返回:
零(包括)和边界(不包括)之间的伪随机长值
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 bound 不是正数 |
public long nextLong(long origin, long bound)
返回指定原点(包括)和指定边界(不包括)之间的伪随机长值。
参数:
参数名称 | 参数描述 |
---|---|
origin | 返回的最小值 |
bound | 上限(不包括) |
返回:
原点(包括)和边界(不包括)之间的伪随机长值
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 origin 大于或等于 bound |
public double nextDouble()
返回零(包括)和一(不包括)之间的伪随机双精度值。
返回:
零(包括)和一(不包括)之间的伪随机双精度值
public double nextDouble(double bound)
返回介于 0.0(包括)和指定边界(不包括)之间的伪随机双精度值。
参数:
参数名称 | 参数描述 |
---|---|
bound | 上限(不包括)。 必须是积极的。 |
返回:
零(包括)和边界(不包括)之间的伪随机双精度值
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 bound 不是正数 |
public double nextDouble(double origin, double bound)
返回指定原点(包括)和边界(不包括)之间的伪随机双精度值。
参数:
参数名称 | 参数描述 |
---|---|
origin | 返回的最小值 |
bound | 上限(不包括) |
返回:
原点(包括)和边界(不包括)之间的伪随机双精度值
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 origin 大于或等于 bound |
public boolean nextBoolean()
返回一个伪随机布尔值。
返回:
一个伪随机布尔值
public IntStream ints(long streamSize)
返回一个流,该流产生给定的 streamSize 数量的伪随机 int 值,从这个生成器和/或从中拆分出来。
参数:
参数名称 | 参数描述 |
---|---|
streamSize | 要生成的值的数量 |
返回:
伪随机 int 值流
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 streamSize 小于零 |
public IntStream ints()
从这个生成器和/或从它的一个拆分返回一个有效无限的伪随机 int 值流。
返回:
伪随机 int 值流
public IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound)
返回一个流,该流产生给定的 streamSize 数量的伪随机 int 值,从这个生成器和/或从它的一个拆分; 每个值都符合给定的原点(包括)和绑定(不包括)。
参数:
参数名称 | 参数描述 |
---|---|
streamSize | 要生成的值的数量 |
randomNumberOrigin | 每个随机值的原点(包括) |
randomNumberBound | 每个随机值的界限(不包括) |
返回:
一个伪随机 int 值流,每个值都具有给定的原点(包括)和边界(不包括)
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 streamSize 小于零,或者 randomNumberOrigin 大于或等于 randomNumberBound |
public IntStream ints(int randomNumberOrigin, int randomNumberBound)
从这个生成器和/或从它的一个拆分返回一个有效无限的伪随机 int 值流; 每个值都符合给定的原点(包括)和绑定(不包括)。
参数:
参数名称 | 参数描述 |
---|---|
randomNumberOrigin | 每个随机值的原点(包括) |
randomNumberBound | 每个随机值的界限(不包括) |
返回:
一个伪随机 int 值流,每个值都具有给定的原点(包括)和边界(不包括)
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 randomNumberOrigin 大于或等于 randomNumberBound |
public LongStream longs(long streamSize)
返回一个流,该流产生给定的 streamSize 数量的伪随机 long 值,从这个生成器和/或从它的一个拆分。
参数:
参数名称 | 参数描述 |
---|---|
streamSize | 要生成的值的数量 |
返回:
伪随机长值流
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 streamSize 小于零 |
public LongStream longs()
从这个生成器和/或从它的一个拆分返回一个有效无限的伪随机长值流。
返回:
伪随机长值流
public LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound)
返回一个流,该流产生给定的 streamSize 数量的伪随机长值,从这个生成器和/或从中拆分出来; 每个值都符合给定的原点(包括)和绑定(不包括)。
参数:
参数名称 | 参数描述 |
---|---|
streamSize | 要生成的值的数量 |
randomNumberOrigin | 每个随机值的原点(包括) |
randomNumberBound | 每个随机值的界限(不包括) |
返回:
一个伪随机长值流,每个值都具有给定的原点(包括)和边界(不包括)
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 streamSize 小于零,或者 randomNumberOrigin 大于或等于 randomNumberBound |
public LongStream longs(long randomNumberOrigin, long randomNumberBound)
从这个生成器和/或从它的一个拆分返回一个有效无限的伪随机长值流; 每个值都符合给定的原点(包括)和绑定(不包括)。
参数:
参数名称 | 参数描述 |
---|---|
randomNumberOrigin | 每个随机值的原点(包括) |
randomNumberBound | 每个随机值的界限(不包括) |
返回:
一个伪随机长值流,每个值都具有给定的原点(包括)和边界(不包括)
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 randomNumberOrigin 大于或等于 randomNumberBound |
public DoubleStream doubles(long streamSize)
返回一个流,该流产生给定的 streamSize 数量的伪随机双精度值,从这个生成器和/或一个拆分; 每个值都介于零(包括)和一(不包括)之间。
参数:
参数名称 | 参数描述 |
---|---|
streamSize | 要生成的值的数量 |
返回:
双值流
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 streamSize 小于零 |
public DoubleStream doubles()
从这个生成器和/或从它的一个拆分返回一个有效无限的伪随机双值流; 每个值都介于零(包括)和一(不包括)之间。
返回:
伪随机双值流
public DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)
返回一个流,该流产生给定的 streamSize 数量的伪随机双精度值,从这个生成器和/或一个拆分; 每个值都符合给定的原点(包括)和绑定(不包括)。
参数:
参数名称 | 参数描述 |
---|---|
streamSize | 要生成的值的数量 |
randomNumberOrigin | 每个随机值的原点(包括) |
randomNumberBound | 每个随机值的界限(不包括) |
返回:
一个伪随机双值流,每个都有给定的原点(包括)和边界(不包括)
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 streamSize 小于零 |
IllegalArgumentException | 如果 randomNumberOrigin 大于或等于 randomNumberBound |
public DoubleStream doubles(double randomNumberOrigin, double randomNumberBound)
从这个生成器和/或从它的一个拆分返回一个有效无限的伪随机双值流; 每个值都符合给定的原点(包括)和绑定(不包括)。
参数:
参数名称 | 参数描述 |
---|---|
randomNumberOrigin | 每个随机值的原点(包括) |
randomNumberBound | 每个随机值的界限(不包括) |
返回:
一个伪随机双值流,每个都有给定的原点(包括)和边界(不包括)
Throws:
Throw名称 | Throw描述 |
---|---|
IllegalArgumentException | 如果 randomNumberOrigin 大于或等于 randomNumberBound |
备案信息: 粤ICP备15087711号-2
Copyright © 2008-2024 啊嘎哇在线工具箱 All Rights.
本站所有资料来源于网络,版权归原作者所有,仅作学习交流使用,如不慎侵犯了您的权利,请联系我们。