- 既知のすべてのサブインタフェース:
RandomGenerator.ArbitrarilyJumpableGenerator
,RandomGenerator.JumpableGenerator
,RandomGenerator.LeapableGenerator
,RandomGenerator.SplittableGenerator
,RandomGenerator.StreamableGenerator
- 既知のすべての実装クラス:
Random
,SecureRandom
,SplittableRandom
,ThreadLocalRandom
RandomGenerator
インタフェースは、数値(またはブール値)のランダムまたは(大抵)擬似乱数シーケンスを生成するオブジェクトに共通プロトコルを提供するように設計されています。 このような順序は、1つの擬似乱数的に選択した値を戻すメソッドを繰り返し起動するか、擬似乱数的に選択した値のストリームを戻すメソッドを起動することによって取得できます。
暗黙的にまたは明示的に指定された値の範囲を指定すると、各値はその範囲から独立して選択されるのが理想的です。 実際には、ある程度の近似で独立性と均一性を決める必要がある場合があります。
int
、long
およびboolean
の値の場合、範囲を明示的に指定しない場合、範囲には、型の使用可能なすべての値が含まれます。 float
およびdouble
の値の場合、最初の値は常に、0.0 (inclusive)と1.0 (exclusive)の2w値のセットから均一に選択されます。ここで、float
値にはwは23、double
値には52で、隣接する値は2−w (このセットは、0.0 (inclusive)と1.0 (exclusive)の間の「すべての表現可能な浮動小数点数」セットの「サブセット」であることに注意してください)で異なります。明示的な範囲が指定された場合、選択した数は計算的にスケーリングされ、その明示的な範囲とはほぼ均一に選択されるように変換されます。
ストリームを戻す各メソッドは、それぞれの値のストリームを生成します。これは、単一の擬似乱数的に選択した値を返すメソッドの場合と同じ方法で選択されます。 たとえば、r
にRandomGenerator
が実装されている場合、メソッド・コールr.ints(100)
は100 int
値のストリームを返します。 これらは、かわりにr.nextInt()
が100回呼び出された場合に返される値とまったく同じであるとはかぎりません。これは、ストリームの各値が同じ範囲から同じような擬似乱数的な方法で選択されることが保証されています。
擬似乱数アルゴリズムを使用してRandomGenerator
インタフェースを実装するオブジェクトはすべて、有限数の状態を含むとみなされます。 このようなオブジェクトを使用して擬似乱数的に選択した値を生成すると、現在の状態以外の情報を参照せずに、新しい状態を現在の状態の関数として計算することによってその状態が変更されます。 このようなオブジェクトの考えられる個別状態の数は、「ポイント」と呼ばれます。 (RandomGenerator
インタフェースの一部の実装は、擬似乱数ではなく本当にランダムな場合があります。たとえば、選択した値を導出する物理オブジェクトの統計動作に依存しています。 このような実装には固定期間がありません。)
ルールとして、RandomGenerator
インタフェースを実装するオブジェクトはスレッド・セーフである必要はありません。 マルチスレッド・アプリケーションでは、RandomGenerator.SplittableGenerator
またはRandomGenerator.JumpableGenerator
インタフェースを実装するThreadLocalRandom
または(大抵)擬似乱数ジェネレータを使用することをお薦めします。
RandomGenerator
を実装するオブジェクトは通常、暗号方式ではセキュアではありません。 かわりに、SecureRandom
を使用して、セキュリティに敏感なアプリケーションで使用するために暗号化で保護された擬似乱数ジェネレータを取得することを検討してください。 ただし、SecureRandom
はRandomGenerator
インタフェースを実装するため、SecureRandom
のインスタンスは、セキュアなジェネレータを必要としないアプリケーションの他のタイプの擬似乱数ジェネレータと同義で使用できます。
特に指定がないかぎり、メソッド引数にnullを使用するとNullPointerExceptionが発生します。
- 導入されたバージョン:
- 17
-
ネストされたクラスのサマリー
ネストされたクラス修飾子と型インタフェース説明static interface
このインタフェースは、擬似乱数シーケンスを生成し、任意の量で簡単にjumpを状態サイクルの遠いポイントに送ることができるオブジェクトに共通のプロトコルを提供するように設計されています。static interface
このインタフェースは、擬似乱数値を生成するオブジェクトに共通のプロトコルを提供するように設計されており、状態サイクル内の離れた場所に適度な量(たとえば264)で簡単に前方にジャンプできます。static interface
このインタフェースは、擬似乱数シーケンスを生成するオブジェクトに共通のプロトコルを提供するように設計されており、その状態サイクルの非常に遠いポイントに簡単に前方にジャンプできるだけでなく、飛躍(たとえば、2128)することもできます。static interface
このインタフェースは、擬似乱数値の順序を生成するオブジェクトに共通プロトコルを提供するように設計されており、それぞれ(元のものと新しいもの)という2つのオブジェクトに「分割」で、同じプロトコル(したがって、無期限に再帰的に分割できます)に従うことができます。static interface
RandomGenerator.StreamableGenerator
インタフェースは、RandomGenerator
インタフェースを補強して、RandomGenerator
オブジェクトのストリームを返すメソッドを提供します。 -
メソッドのサマリー
修飾子と型メソッド説明default DoubleStream
doubles()
擬似乱数的に選択されたdouble
値の実質的に無制限のストリームを返します。default DoubleStream
doubles
(double randomNumberOrigin, double randomNumberBound) 擬似乱数的に選択したdouble
値の実質的に無制限のストリームを返します。各値は、指定された起点(inclusive)と指定された境界(exclusive)の間です。default DoubleStream
doubles
(long streamSize) 指定されたstreamSize
数の擬似乱数的に選択したdouble
値を生成するストリームを返します。default DoubleStream
doubles
(long streamSize, double randomNumberOrigin, double randomNumberBound) 擬似乱数的に選択したdouble
値のstreamSize
数を生成するストリームを返します。各値は、指定された起点(inclusive)と、指定された境界(exclusive)の間です。static RandomGenerator
状態ビットが64以上のalgorithmを持つ最小要件を満たすRandomGenerator
を返します。default IntStream
ints()
擬似乱数的に選択されたint
値の実質的に無制限のストリームを返します。default IntStream
ints
(int randomNumberOrigin, int randomNumberBound) 擬似乱数的に選択したint
値の実質的に無制限のストリームを返します。各値は、指定された起点(inclusive)と指定された境界(exclusive)の間です。default IntStream
ints
(long streamSize) 指定されたstreamSize
数の擬似乱数的に選択したint
値を生成するストリームを返します。default IntStream
ints
(long streamSize, int randomNumberOrigin, int randomNumberBound) 指定された擬似乱数的に選択したint
値のstreamSize
数を生成するストリームを返します。各値は、指定された起点(inclusive)と、指定された境界(exclusive)の間です。default boolean
RandomGenerator (algorithm)の実装が非推奨としてマークされている場合はtrueを返します。default LongStream
longs()
擬似乱数的に選択されたlong
値の実質的に無制限のストリームを返します。default LongStream
longs
(long streamSize) 指定されたstreamSize
数の擬似乱数的に選択したlong
値を生成するストリームを返します。default LongStream
longs
(long randomNumberOrigin, long randomNumberBound) 擬似乱数的に選択したlong
値の実質的に無制限のストリームを返します。各値は、指定された起点(inclusive)と指定された境界(exclusive)の間です。default LongStream
longs
(long streamSize, long randomNumberOrigin, long randomNumberBound) 擬似乱数的に選択したlong
値のstreamSize
数を生成するストリームを返します。各値は、指定された起点(inclusive)と、指定された境界(exclusive)の間です。default boolean
擬似乱数的に選択したboolean
値を返します。default void
nextBytes
(byte[] bytes) -128 (inclusive)と127 (inclusive)の間の値範囲から擬似乱数的に選択された一様なバイト値が生成されたユーザー指定のバイト配列になります。default double
0 (これを含む)から1 (これを含まない)までの、擬似乱数のdouble
値を返します。default double
nextDouble
(double bound) ゼロ(inclusive)と指定した境界(exclusive)の間の擬似乱数的に選択したdouble
値を返します。default double
nextDouble
(double origin, double bound) 指定された起点(inclusive)と指定された境界(exclusive)の間の擬似乱数的に選択したdouble
値を返します。default double
平均が1である指数分布から擬似乱数的に選択された、負でないdouble
値を返します。default float
0(これを含む)から1(これを含まない)までの範囲で、擬似乱数のfloat
値を返します。default float
nextFloat
(float bound) ゼロ(inclusive)と指定したバインド(exclusive)の間の擬似乱数的に選択したfloat
値を返します。default float
nextFloat
(float origin, float bound) 指定された起点(inclusive)と指定された境界(exclusive)の間の擬似乱数的に選択したfloat
値を返します。default double
平均が0で、標準偏差が1であるガウス(正規)分布から擬似乱数的に選択されたdouble
値を返します。default double
nextGaussian
(double mean, double stddev) ガウス(正規)分布から擬似乱数的に選択されたdouble
値を、引数で指定された平均偏差および標準偏差で返します。default int
nextInt()
擬似乱数的に選択したint
値を返します。default int
nextInt
(int bound) ゼロ(inclusive)と指定した境界(exclusive)の間の擬似乱数的に選択したint
値を返します。default int
nextInt
(int origin, int bound) 指定された起点(inclusive)と指定された境界(exclusive)の間の擬似乱数的に選択したint
値を返します。long
nextLong()
擬似乱数的に選択したlong
値を返します。default long
nextLong
(long bound) ゼロ(inclusive)と指定した境界(exclusive)の間の擬似乱数的に選択したlong
値を返します。default long
nextLong
(long origin, long bound) 指定された起点(inclusive)と指定された境界(exclusive)の間の擬似乱数的に選択したlong
値を返します。static RandomGenerator
name
algorithmを利用するRandomGenerator
のインスタンスを返します。
-
メソッドの詳細
-
of
static RandomGenerator of(String name) name
algorithmを利用するRandomGenerator
のインスタンスを返します。- パラメータ:
name
- 乱数ジェネレータの名前algorithm- 戻り値:
RandomGenerator
のインスタンス- throws:
NullPointerException
- nameがnullである場合IllegalArgumentException
- 指定されたアルゴリズムが見つからない場合
-
getDefault
static RandomGenerator getDefault()状態ビットが64以上のalgorithmを持つ最小要件を満たすRandomGenerator
を返します。- 実装要件:
- アルゴリズムは時間の経過とともに向上するため、このメソッドが時間の経過に伴って同じアルゴリズムを返す保証はありません。
デフォルトの実装では、L32X64MixRandomが選択されます。
- 戻り値:
- a
RandomGenerator
-
isDeprecated
default boolean isDeprecated()RandomGenerator (algorithm)の実装が非推奨としてマークされている場合はtrueを返します。- 実装要件:
- デフォルトの実装では、@Deprecated注釈がチェックされます。
- 実装上のノート:
- 乱数ジェネレータ・アルゴリズムが何度も進化し、新しいアルゴリズムが導入され、古いアルゴリズムが起動しなくなります。 古いアルゴリズムが継続使用に適していないと判断された場合、将来ある時点で削除可能であることを示すために非推奨としてマークされます。
- 戻り値:
- RandomGenerator (algorithm)の実装が非推奨としてマークされている場合はtrue
-
doubles
default DoubleStream doubles()擬似乱数的に選択されたdouble
値の実質的に無制限のストリームを返します。- 実装要件:
- デフォルトの実装では、
nextDouble
()を繰り返し呼び出す順次ストリームが生成されます。 - 実装上のノート:
- このメソッドは、
doubles
(Long.MAX_VALUE
)と同等の方法で実装できます。 - 戻り値:
- 擬似乱数的に選択された
double
値のストリーム
-
doubles
default DoubleStream doubles(double randomNumberOrigin, double randomNumberBound) 擬似乱数的に選択したdouble
値の実質的に無制限のストリームを返します。各値は、指定された起点(inclusive)と指定された境界(exclusive)の間です。- 実装要件:
- デフォルトの実装では、
nextDouble
(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。 - 実装上のノート:
- このメソッドは、
doubles
(Long.MAX_VALUE
、randomNumberOrigin、randomNumberBound)と同等の方法で実装できます。 - パラメータ:
randomNumberOrigin
- 作成できる最小値randomNumberBound
- 生成された各値の上限(exclusive)- 戻り値:
- 指定された起点(inclusive)と指定された境界(exclusive)の間にある、擬似乱数的に選択された
double
値のストリーム - throws:
IllegalArgumentException
-randomNumberOrigin
が有限でない場合、またはrandomNumberBound
が有限でない場合、またはrandomNumberOrigin
がrandomNumberBound
以上である場合
-
doubles
default DoubleStream doubles(long streamSize) 指定されたstreamSize
数の擬似乱数的に選択したdouble
値を生成するストリームを返します。- 実装要件:
- デフォルトの実装では、
nextDouble()
を繰り返し呼び出す順次ストリームが生成されます。 - パラメータ:
streamSize
- 生成する値の数- 戻り値:
- 擬似乱数的に選択された
double
値のストリーム - throws:
IllegalArgumentException
-streamSize
が0未満の場合
-
doubles
default DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) 擬似乱数的に選択したdouble
値のstreamSize
数を生成するストリームを返します。各値は、指定された起点(inclusive)と、指定された境界(exclusive)の間です。- 実装要件:
- デフォルトの実装では、
nextDouble
(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。 - パラメータ:
streamSize
- 生成する値の数randomNumberOrigin
- 作成できる最小値randomNumberBound
- 生成された各値の上限(exclusive)- 戻り値:
- 指定された起点(inclusive)と指定された境界(exclusive)の間にある、擬似乱数的に選択された
double
値のストリーム - throws:
IllegalArgumentException
-streamSize
がゼロ未満またはrandomNumberOrigin
が有限でない場合、またはrandomNumberBound
が有限でない場合、またはrandomNumberOrigin
がrandomNumberBound
以上である場合
-
ints
default IntStream ints()擬似乱数的に選択されたint
値の実質的に無制限のストリームを返します。- 実装要件:
- デフォルトの実装では、
nextInt
()を繰り返し呼び出す順次ストリームが生成されます。 - 実装上のノート:
- このメソッドは、
ints
(Long.MAX_VALUE
)と同等の方法で実装できます。 - 戻り値:
- 擬似乱数的に選択された
int
値のストリーム
-
ints
default IntStream ints(int randomNumberOrigin, int randomNumberBound) 擬似乱数的に選択したint
値の実質的に無制限のストリームを返します。各値は、指定された起点(inclusive)と指定された境界(exclusive)の間です。- 実装要件:
- デフォルトの実装では、
nextInt
(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。 - 実装上のノート:
- このメソッドは、
ints
(Long.MAX_VALUE
、randomNumberOrigin、randomNumberBound)と同等の方法で実装できます。 - パラメータ:
randomNumberOrigin
- 作成できる最小値randomNumberBound
- 生成された各値の上限(exclusive)- 戻り値:
- 指定された起点(inclusive)と指定された境界(exclusive)の間にある、擬似乱数的に選択された
int
値のストリーム - throws:
IllegalArgumentException
-randomNumberOrigin
がrandomNumberBound
以上の場合
-
ints
default IntStream ints(long streamSize) 指定されたstreamSize
数の擬似乱数的に選択したint
値を生成するストリームを返します。- 実装要件:
- デフォルトの実装では、
nextInt
()を繰り返し呼び出す順次ストリームが生成されます。 - パラメータ:
streamSize
- 生成する値の数- 戻り値:
- 擬似乱数的に選択された
int
値のストリーム - throws:
IllegalArgumentException
-streamSize
が0未満の場合
-
ints
default IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound) 指定された擬似乱数的に選択したint
値のstreamSize
数を生成するストリームを返します。各値は、指定された起点(inclusive)と、指定された境界(exclusive)の間です。- 実装要件:
- デフォルトの実装では、
nextInt
(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。 - パラメータ:
streamSize
- 生成する値の数randomNumberOrigin
- 作成できる最小値randomNumberBound
- 生成された各値の上限(exclusive)- 戻り値:
- 指定された起点(inclusive)と指定された境界(exclusive)の間にある、擬似乱数的に選択された
int
値のストリーム - throws:
IllegalArgumentException
-streamSize
が0未満の場合、またはrandomNumberOrigin
がrandomNumberBound
以上の場合
-
longs
default LongStream longs()擬似乱数的に選択されたlong
値の実質的に無制限のストリームを返します。- 実装要件:
- デフォルトの実装では、
nextLong
()を繰り返し呼び出す順次ストリームが生成されます。 - 実装上のノート:
- このメソッドは、
longs
(Long.MAX_VALUE
)と同等の方法で実装できます。 - 戻り値:
- 擬似乱数的に選択された
long
値のストリーム
-
longs
default LongStream longs(long randomNumberOrigin, long randomNumberBound) 擬似乱数的に選択したlong
値の実質的に無制限のストリームを返します。各値は、指定された起点(inclusive)と指定された境界(exclusive)の間です。- 実装要件:
- デフォルトの実装では、
nextLong
(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。 - 実装上のノート:
- このメソッドは、
longs
(Long.MAX_VALUE
、randomNumberOrigin、randomNumberBound)と同等の方法で実装できます。 - パラメータ:
randomNumberOrigin
- 作成できる最小値randomNumberBound
- 生成された各値の上限(exclusive)- 戻り値:
- 指定された起点(inclusive)と指定された境界(exclusive)の間にある、擬似乱数的に選択された
long
値のストリーム - throws:
IllegalArgumentException
-randomNumberOrigin
がrandomNumberBound
以上の場合
-
longs
default LongStream longs(long streamSize) 指定されたstreamSize
数の擬似乱数的に選択したlong
値を生成するストリームを返します。- 実装要件:
- デフォルトの実装では、
nextLong
()を繰り返し呼び出す順次ストリームが生成されます。 - パラメータ:
streamSize
- 生成する値の数- 戻り値:
- 擬似乱数的に選択された
long
値のストリーム - throws:
IllegalArgumentException
-streamSize
が0未満の場合
-
longs
default LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound) 擬似乱数的に選択したlong
値のstreamSize
数を生成するストリームを返します。各値は、指定された起点(inclusive)と、指定された境界(exclusive)の間です。- 実装要件:
- デフォルトの実装では、
nextLong
(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。 - パラメータ:
streamSize
- 生成する値の数randomNumberOrigin
- 作成できる最小値randomNumberBound
- 生成された各値の上限(exclusive)- 戻り値:
- 指定された起点(inclusive)と指定された境界(exclusive)の間にある、擬似乱数的に選択された
long
値のストリーム - throws:
IllegalArgumentException
-streamSize
が0未満の場合、またはrandomNumberOrigin
がrandomNumberBound
以上の場合
-
nextBoolean
default boolean nextBoolean()擬似乱数的に選択したboolean
値を返します。デフォルトの実装は、
nextInt
()によって生成される値の上位ビット (サイン・ビット)を、擬似乱数生成のアルゴリズムによっては、低位ビットよりも高位ビットの統計品質を持つ値が生成されることを条件でテストします。- 実装要件:
- デフォルトの実装は、
nextInt()
によって生成された数値の符号ビットに基づいて結果を生成します。 - 戻り値:
- 擬似乱数的に選択された
boolean
値
-
nextBytes
default void nextBytes(byte[] bytes) -128 (inclusive)と127 (inclusive)の間の値範囲から擬似乱数的に選択された一様なバイト値が生成されたユーザー指定のバイト配列になります。- 実装要件:
- デフォルトの実装では、
nextLong()
への繰返しコールの結果が生成されます。 - 実装上のノート:
- バイト配列の塗りつぶしに使用されるアルゴリズム
void nextBytes(byte[] bytes) { int i = 0; int len = bytes.length; for (int words = len >> 3; words--> 0; ) { long rnd = nextLong(); for (int n = 8; n--> 0; rnd >>>= Byte.SIZE) bytes[i++] = (byte)rnd; } if (i < len) for (long rnd = nextLong(); i < len; rnd >>>= Byte.SIZE) bytes[i++] = (byte)rnd; }
- パラメータ:
bytes
- 擬似乱数バイトで埋めるためのバイト配列- throws:
NullPointerException
- bytesがnullの場合
-
nextFloat
default float nextFloat()0(これを含む)から1(これを含まない)までの範囲で、擬似乱数のfloat
値を返します。- 実装要件:
- デフォルトの実装では、
nextInt
()へのコールの上位24ビットが使用されます。 - 戻り値:
- 0(これを含む)から1(これを含まない)までの、擬似乱数の
float
値
-
nextFloat
default float nextFloat(float bound) ゼロ(inclusive)と指定したバインド(exclusive)の間の擬似乱数的に選択したfloat
値を返します。- 実装要件:
- デフォルトの実装では、
bound
が正の有限浮動小数であることをチェックします。 次に、nextFloat()
を呼び出して、最終結果が0.0f
(inclusive)とbound
(exclusive)の間にあるように結果をスケーリングします。 - パラメータ:
bound
- 返される値の上限(exclusive)。 正および有限である必要があります- 戻り値:
- 0 (inclusive)とバインドされた(exclusive)の間の擬似乱数的に選択した
float
値 - throws:
IllegalArgumentException
-bound
が正と有限の両方でない場合
-
nextFloat
default float nextFloat(float origin, float bound) 指定された起点(inclusive)と指定された境界(exclusive)の間の擬似乱数的に選択したfloat
値を返します。- 実装要件:
- デフォルトの実装では、
origin
およびbound
が正の有限浮動小数であることをチェックします。 次に、origin
(inclusive)とbound
(exclusive)の間に最終的な結果が存在するように、結果をスケールおよび変換します。 - パラメータ:
origin
- 戻り値bound
- 上限(含まない)- 戻り値:
- 起点(inclusive)と境界(exclusive)の間の擬似乱数的に選択した
float
値 - throws:
IllegalArgumentException
-origin
が有限でない場合、またはbound
が有限でない場合、またはorigin
がbound
以上である場合
-
nextDouble
default double nextDouble()0 (これを含む)から1 (これを含まない)までの、擬似乱数のdouble
値を返します。- 実装要件:
- デフォルトの実装では、
nextLong
()へのコールの上位53ビットが使用されます。 - 戻り値:
- 0 (これを含む)から1 (これを含まない)までの、擬似乱数の
double
値
-
nextDouble
default double nextDouble(double bound) ゼロ(inclusive)と指定した境界(exclusive)の間の擬似乱数的に選択したdouble
値を返します。- 実装要件:
- デフォルトの実装は、
bound
が正の有限倍数であることをチェックします。 次に、nextDouble()
を呼び出して、最終結果が0.0
(inclusive)とbound
(exclusive)の間にあるように結果をスケーリングします。 - パラメータ:
bound
- 返される値の上限(exclusive)。 正および有限である必要があります- 戻り値:
- 0 (inclusive)と境界(exclusive)の間の擬似乱数的に選択した
double
値 - throws:
IllegalArgumentException
-bound
が正と有限の両方でない場合
-
nextDouble
default double nextDouble(double origin, double bound) 指定された起点(inclusive)と指定された境界(exclusive)の間の擬似乱数的に選択したdouble
値を返します。- 実装要件:
- デフォルトの実装では、
origin
とbound
が正の有限ダブルであることをチェックします。 次に、origin
(inclusive)とbound
(exclusive)の間で最終結果となるように、結果をスケールおよび変換します。 - パラメータ:
origin
- 戻り値bound
- 返される値の上限(exclusive)- 戻り値:
- 起点(inclusive)と境界(exclusive)の間の擬似乱数的に選択した
double
値 - throws:
IllegalArgumentException
-origin
が有限でない場合、またはbound
が有限でない場合、またはorigin
がbound
以上である場合
-
nextInt
default int nextInt()擬似乱数的に選択したint
値を返します。- 実装要件:
- デフォルトの実装では、コールから
nextLong
()への上位32ビットが使用されます。 - 戻り値:
- 擬似乱数的に選択された
int
値
-
nextInt
default int nextInt(int bound) ゼロ(inclusive)と指定した境界(exclusive)の間の擬似乱数的に選択したint
値を返します。- 実装要件:
- デフォルトの実装は、
bound
がプラスのint
であることをチェックします。 次に、nextInt()
を起動し、結果をゼロ以上、bound
未満に制限します。bound
が2の累乗の場合、制限は単純なマスキング操作です。 それ以外の場合、結果がゼロ以上でbound
未満になるまで、nextInt()
を呼び出して結果が再計算されます。 - パラメータ:
bound
- 返される値の上限(exclusive)。 正の値でなければならない- 戻り値:
- 0 (inclusive)と境界(exclusive)の間の擬似乱数的に選択した
int
値 - throws:
IllegalArgumentException
-bound
が正でない場合
-
nextInt
default int nextInt(int origin, int bound) 指定された起点(inclusive)と指定された境界(exclusive)の間の擬似乱数的に選択したint
値を返します。- 実装要件:
- デフォルトの実装は、
origin
およびbound
が正のints
であることをチェックします。 次に、nextInt()
を起動し、結果をorigin
以上、bound
未満に制限します。bound
が2の累乗の場合、制限は単純なマスキング操作です。 それ以外の場合、結果はorigin
以上bound
未満になるまで、nextInt()
を呼び出して再計算されます。 - パラメータ:
origin
- 戻り値bound
- 返される値の上限(exclusive)- 戻り値:
- 起点(inclusive)と境界(exclusive)の間の擬似乱数的に選択した
int
値 - throws:
IllegalArgumentException
-origin
がbound
より大きいか等しい場合
-
nextLong
long nextLong()擬似乱数的に選択したlong
値を返します。- 戻り値:
- 擬似乱数的に選択された
long
値
-
nextLong
default long nextLong(long bound) ゼロ(inclusive)と指定した境界(exclusive)の間の擬似乱数的に選択したlong
値を返します。- 実装要件:
- デフォルトの実装は、
bound
がプラスのlong
であることをチェックします。 次に、nextLong()
を起動し、結果をゼロ以上、bound
未満に制限します。bound
が2の累乗の場合、制限は単純なマスキング操作です。 それ以外の場合、結果がゼロ以上でbound
未満になるまで、nextLong()
を呼び出して結果が再計算されます。 - パラメータ:
bound
- 返される値の上限(exclusive)。 正の値でなければならない- 戻り値:
- 0 (inclusive)と境界(exclusive)の間の擬似乱数的に選択した
long
値 - throws:
IllegalArgumentException
-bound
が正でない場合
-
nextLong
default long nextLong(long origin, long bound) 指定された起点(inclusive)と指定された境界(exclusive)の間の擬似乱数的に選択したlong
値を返します。- 実装要件:
- デフォルトの実装は、
origin
およびbound
が正のlongs
であることをチェックします。 次に、nextLong()
を起動し、結果をorigin
以上、bound
未満に制限します。bound
が2の累乗の場合、制限は単純なマスキング操作です。 それ以外の場合、結果はorigin
以上bound
未満になるまで、nextLong()
を呼び出して再計算されます。 - パラメータ:
origin
- 戻り値bound
- 返される値の上限(exclusive)- 戻り値:
- 起点(inclusive)と境界(exclusive)の間の擬似乱数的に選択した
long
値 - throws:
IllegalArgumentException
-origin
がbound
より大きいか等しい場合
-
nextGaussian
default double nextGaussian()平均が0で、標準偏差が1であるガウス(正規)分布から擬似乱数的に選択されたdouble
値を返します。- 実装要件:
- デフォルトの実装は、McFarlandの高速変更ジグラート・アルゴリズム(大規模な表駆動で、計算と拒否サンプリングで処理されるまれなケース)を使用します。 離散分布をサンプリングするためのウォーカ別名のメソッドもロールを果たします。
- 戻り値:
- ガウス分布から擬似乱数的に選択された
double
値
-
nextGaussian
default double nextGaussian(double mean, double stddev) ガウス(正規)分布から擬似乱数的に選択されたdouble
値を、引数で指定された平均偏差および標準偏差で返します。- 実装要件:
- デフォルトの実装は、McFarlandの高速変更ジグラート・アルゴリズム(大規模な表駆動で、計算と拒否サンプリングで処理されるまれなケース)を使用します。 離散分布をサンプリングするためのウォーカ別名のメソッドもロールを果たします。
- パラメータ:
mean
- ガウス分布の平均値を描画stddev
- 描画するガウス分布の標準偏差(分散の平方根)- 戻り値:
- 指定されたガウス分布から擬似乱数的に選択された
double
値 - throws:
IllegalArgumentException
-stddev
が負の場合
-
nextExponential
default double nextExponential()平均が1である指数分布から擬似乱数的に選択された、負でないdouble
値を返します。- 実装要件:
- デフォルトの実装は、McFarlandの高速変更ジグラート・アルゴリズム(大規模な表駆動で、計算と拒否サンプリングで処理されるまれなケース)を使用します。 離散分布をサンプリングするためのウォーカ別名のメソッドもロールを果たします。
- 戻り値:
- 指数分布から擬似乱数的に選択された、負でない
double
値
-