インタフェースRandomGenerator
- 既知のすべてのサブインタフェース:
RandomGenerator.ArbitrarilyJumpableGenerator,RandomGenerator.JumpableGenerator,RandomGenerator.LeapableGenerator,RandomGenerator.SplittableGenerator,RandomGenerator.StreamableGenerator
- 既知のすべての実装クラス:
Random,SecureRandom,SplittableRandom,ThreadLocalRandom
RandomGeneratorインタフェースは、数値(またはブール値)のランダムまたは(大抵)擬似乱数シーケンスを生成するオブジェクトに共通プロトコルを提供するように設計されています。 このような順序は、1つの擬似乱数的に選択した値を戻すメソッドを繰り返し起動するか、擬似乱数的に選択した値のストリームを戻すメソッドを起動することによって取得できます。
暗黙的にまたは明示的に指定された値の範囲を指定すると、各値はその範囲から独立して選択されるのが理想的です。 実際には、ある程度の近似で独立性と均一性を決める必要がある場合があります。
int、longおよびbooleanの値の場合、範囲を明示的に指定しない場合、範囲には、型の使用可能なすべての値が含まれます。 floatおよびdouble値の場合、最初に、値が常に0.0 (包含)と1.0 (除外)の間の2つのw値のセットから均一に選択されます。ここで、wはfloat値の場合はFloat.PRECISION、double値の場合はDouble.PRECISIONです。隣接値が2−w (このセットは、0.0 (包含)と1.0 (除外)の間の「すべての表現可能な浮動小数点値」セットの「サブセット」であることに注意してください)によって異なるようにします。明示的な範囲が指定されている場合、選択した数値は計算的にスケーリングされ、その明示的な範囲からほぼ均一に選択されているように変換されます。
ストリームを戻す各メソッドは、それぞれの値のストリームを生成します。これは、単一の擬似乱数的に選択した値を返すメソッドの場合と同じ方法で選択されます。 たとえば、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 interfaceRandomGenerator.StreamableGeneratorインタフェースは、RandomGeneratorインタフェースを補強して、RandomGeneratorオブジェクトのストリームを返すメソッドを提供します。 -
メソッドのサマリー
修飾子と型メソッド説明default DoubleStreamdoubles()擬似乱数的に選択されたdouble値の実質的に無制限のストリームを返します。default DoubleStreamdoubles(double randomNumberOrigin, double randomNumberBound) 擬似乱数的に選択したdouble値の実質的に無制限のストリームを返します。各値は、指定された起点(包含)と指定された境界(除外)の間です。default DoubleStreamdoubles(long streamSize) 指定されたstreamSize数の擬似乱数的に選択したdouble値を生成するストリームを返します。default DoubleStreamdoubles(long streamSize, double randomNumberOrigin, double randomNumberBound) 擬似乱数的に選択したdouble値のstreamSize数を生成するストリームを返します。各値は、指定された起点(包含)と、指定された境界(除外)の間です。default DoubleStreamequiDoubles(double left, double right, boolean isLeftIncluded, boolean isRightIncluded) 疑似ランダムに選択されたdouble値の事実上無制限のストリームを返します。各値は、指定されたleft境界と指定されたright境界の間にあります。static RandomGenerator状態ビットが64以上のalgorithmを持つ最小要件を満たすRandomGeneratorを返します。default IntStreamints()擬似乱数的に選択されたint値の実質的に無制限のストリームを返します。default IntStreamints(int randomNumberOrigin, int randomNumberBound) 擬似乱数的に選択したint値の実質的に無制限のストリームを返します。各値は、指定された起点(包含)と指定された境界(除外)の間です。default IntStreamints(long streamSize) 指定されたstreamSize数の擬似乱数的に選択したint値を生成するストリームを返します。default IntStreamints(long streamSize, int randomNumberOrigin, int randomNumberBound) 指定された擬似乱数的に選択したint値のstreamSize数を生成するストリームを返します。各値は、指定された起点(包含)と、指定された境界(除外)の間です。default booleanRandomGenerator (algorithm)の実装が非推奨としてマークされている場合はtrueを返します。default LongStreamlongs()擬似乱数的に選択されたlong値の実質的に無制限のストリームを返します。default LongStreamlongs(long streamSize) 指定されたstreamSize数の擬似乱数的に選択したlong値を生成するストリームを返します。default LongStreamlongs(long randomNumberOrigin, long randomNumberBound) 擬似乱数的に選択したlong値の実質的に無制限のストリームを返します。各値は、指定された起点(包含)と指定された境界(除外)の間です。default LongStreamlongs(long streamSize, long randomNumberOrigin, long randomNumberBound) 擬似乱数的に選択したlong値のstreamSize数を生成するストリームを返します。各値は、指定された起点(包含)と、指定された境界(除外)の間です。default boolean擬似乱数的に選択したboolean値を返します。default voidnextBytes(byte[] bytes) -128 (包含)と127 (包含)の間の値範囲から擬似乱数的に選択された一様なバイト値が生成されたユーザー指定のバイト配列になります。default double0 (これを含む)から1 (これを含まない)までの、擬似乱数のdouble値を返します。default doublenextDouble(double bound) ゼロ(包含)と指定した境界(除外)の間の擬似乱数的に選択したdouble値を返します。default doublenextDouble(double origin, double bound) 指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したdouble値を返します。default double平均が1である指数分布から擬似乱数的に選択された、負でないdouble値を返します。default float0(これを含む)から1(これを含まない)までの範囲で、擬似乱数のfloat値を返します。default floatnextFloat(float bound) ゼロ(包含)と指定したバインド(除外)の間の擬似乱数的に選択したfloat値を返します。default floatnextFloat(float origin, float bound) 指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したfloat値を返します。default double平均が0で、標準偏差が1であるガウス(正規)分布から擬似乱数的に選択されたdouble値を返します。default doublenextGaussian(double mean, double stddev) ガウス(正規)分布から擬似乱数的に選択されたdouble値を、引数で指定された平均偏差および標準偏差で返します。default intnextInt()擬似乱数的に選択したint値を返します。default intnextInt(int bound) ゼロ(包含)と指定した境界(除外)の間の擬似乱数的に選択したint値を返します。default intnextInt(int origin, int bound) 指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したint値を返します。longnextLong()擬似乱数的に選択したlong値を返します。default longnextLong(long bound) ゼロ(包含)と指定した境界(除外)の間の擬似乱数的に選択したlong値を返します。default longnextLong(long origin, long bound) 指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したlong値を返します。static RandomGeneratornamealgorithmを利用するRandomGeneratorのインスタンスを返します。
-
メソッドの詳細
-
of
static RandomGenerator of(String name) namealgorithmを利用するRandomGeneratorのインスタンスを返します。- パラメータ:
name- 乱数ジェネレータの名前algorithm- 戻り値:
RandomGeneratorのインスタンス- スロー:
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値の実質的に無制限のストリームを返します。各値は、指定された起点(包含)と指定された境界(除外)の間です。- 実装要件:
- デフォルトの実装では、
nextDouble(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。 - 実装上のノート:
- このメソッドは、
doubles(Long.MAX_VALUE、randomNumberOrigin、randomNumberBound)と同等の方法で実装できます。 - パラメータ:
randomNumberOrigin- 作成できる最小値randomNumberBound- 生成された各値の上限(除外)- 戻り値:
- 指定された起点(包含)と指定された境界(除外)の間にある、擬似乱数的に選択された
double値のストリーム - スロー:
IllegalArgumentException-randomNumberOriginが有限でない場合、またはrandomNumberBoundが有限でない場合、またはrandomNumberOriginがrandomNumberBound以上である場合
-
doubles
default DoubleStream doubles(long streamSize) 指定されたstreamSize数の擬似乱数的に選択したdouble値を生成するストリームを返します。- 実装要件:
- デフォルトの実装では、
nextDouble()を繰り返し呼び出す順次ストリームが生成されます。 - パラメータ:
streamSize- 生成する値の数- 戻り値:
- 擬似乱数的に選択された
double値のストリーム - スロー:
IllegalArgumentException-streamSizeが0未満の場合
-
doubles
default DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) 擬似乱数的に選択したdouble値のstreamSize数を生成するストリームを返します。各値は、指定された起点(包含)と、指定された境界(除外)の間です。- 実装要件:
- デフォルトの実装では、
nextDouble(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。 - パラメータ:
streamSize- 生成する値の数randomNumberOrigin- 作成できる最小値randomNumberBound- 生成された各値の上限(除外)- 戻り値:
- 指定された起点(包含)と指定された境界(除外)の間にある、擬似乱数的に選択された
double値のストリーム - スロー:
IllegalArgumentException-streamSizeがゼロ未満またはrandomNumberOriginが有限でない場合、またはrandomNumberBoundが有限でない場合、またはrandomNumberOriginがrandomNumberBound以上である場合
-
equiDoubles
default DoubleStream equiDoubles(double left, double right, boolean isLeftIncluded, boolean isRightIncluded) 疑似ランダムに選択されたdouble値の事実上無制限のストリームを返します。各値は、指定されたleft境界と指定されたright境界の間にあります。left境界は、isLeftIncludedで示されるとおりに含まれます。同様に、right境界は、isRightIncludedで示されるとおりに含まれます。ストリームは、パラメータで指定された間隔に横たわるすべての倍数のk δ (k整数)を生成する可能性があります。ここで、δ > 0は、これらすべての倍数が正確な
doubleである最小数です。 それゆえ、彼らはみな平等である。 ストリームによって生成されるdoubleの分布の均一性は、基礎となるnextLong(long)の品質によって異なります。- 実装要件:
- デフォルトの実装では、最初に前述のδが決定されます。 次に、klδが指定された間隔で「内側」となり、(kl + n)δが間隔で「外部」となる最小の整数n > 0suchとなるように、最小の整数klの両方を計算します。 最後に、(kl +
nextLong(n))δに従ってdoubleを生成するストリームを返します。 ストリームは-0.0を生成しませんが、指定した間隔に0が含まれる場合は0.0を生成できます。 - パラメータ:
left- 左の境界right- 右の境界isLeftIncluded-left境界が含まれているかどうかisRightIncluded-right境界が含まれているかどうか- 戻り値:
- 前述のように、
leftとrightの間にある、疑似ランダムに選択されたdouble値のストリーム。 - スロー:
IllegalArgumentException-leftが有限でない場合、またはrightが有限でない場合、または指定された間隔が空の場合。- 導入されたバージョン:
- 22
-
ints
default IntStream ints()擬似乱数的に選択されたint値の実質的に無制限のストリームを返します。- 実装要件:
- デフォルトの実装では、
nextInt()を繰り返し呼び出す順次ストリームが生成されます。 - 実装上のノート:
- このメソッドは、
ints(Long.MAX_VALUE)と同等の方法で実装できます。 - 戻り値:
- 擬似乱数的に選択された
int値のストリーム
-
ints
default IntStream ints(int randomNumberOrigin, int randomNumberBound) 擬似乱数的に選択したint値の実質的に無制限のストリームを返します。各値は、指定された起点(包含)と指定された境界(除外)の間です。- 実装要件:
- デフォルトの実装では、
nextInt(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。 - 実装上のノート:
- このメソッドは、
ints(Long.MAX_VALUE、randomNumberOrigin、randomNumberBound)と同等の方法で実装できます。 - パラメータ:
randomNumberOrigin- 作成できる最小値randomNumberBound- 生成された各値の上限(除外)- 戻り値:
- 指定された起点(包含)と指定された境界(除外)の間にある、擬似乱数的に選択された
int値のストリーム - スロー:
IllegalArgumentException-randomNumberOriginがrandomNumberBound以上の場合
-
ints
default IntStream ints(long streamSize) 指定されたstreamSize数の擬似乱数的に選択したint値を生成するストリームを返します。- 実装要件:
- デフォルトの実装では、
nextInt()を繰り返し呼び出す順次ストリームが生成されます。 - パラメータ:
streamSize- 生成する値の数- 戻り値:
- 擬似乱数的に選択された
int値のストリーム - スロー:
IllegalArgumentException-streamSizeが0未満の場合
-
ints
default IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound) 指定された擬似乱数的に選択したint値のstreamSize数を生成するストリームを返します。各値は、指定された起点(包含)と、指定された境界(除外)の間です。- 実装要件:
- デフォルトの実装では、
nextInt(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。 - パラメータ:
streamSize- 生成する値の数randomNumberOrigin- 作成できる最小値randomNumberBound- 生成された各値の上限(除外)- 戻り値:
- 指定された起点(包含)と指定された境界(除外)の間にある、擬似乱数的に選択された
int値のストリーム - スロー:
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値の実質的に無制限のストリームを返します。各値は、指定された起点(包含)と指定された境界(除外)の間です。- 実装要件:
- デフォルトの実装では、
nextLong(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。 - 実装上のノート:
- このメソッドは、
longs(Long.MAX_VALUE、randomNumberOrigin、randomNumberBound)と同等の方法で実装できます。 - パラメータ:
randomNumberOrigin- 作成できる最小値randomNumberBound- 生成された各値の上限(除外)- 戻り値:
- 指定された起点(包含)と指定された境界(除外)の間にある、擬似乱数的に選択された
long値のストリーム - スロー:
IllegalArgumentException-randomNumberOriginがrandomNumberBound以上の場合
-
longs
default LongStream longs(long streamSize) 指定されたstreamSize数の擬似乱数的に選択したlong値を生成するストリームを返します。- 実装要件:
- デフォルトの実装では、
nextLong()を繰り返し呼び出す順次ストリームが生成されます。 - パラメータ:
streamSize- 生成する値の数- 戻り値:
- 擬似乱数的に選択された
long値のストリーム - スロー:
IllegalArgumentException-streamSizeが0未満の場合
-
longs
default LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound) 擬似乱数的に選択したlong値のstreamSize数を生成するストリームを返します。各値は、指定された起点(包含)と、指定された境界(除外)の間です。- 実装要件:
- デフォルトの実装では、
nextLong(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。 - パラメータ:
streamSize- 生成する値の数randomNumberOrigin- 作成できる最小値randomNumberBound- 生成された各値の上限(除外)- 戻り値:
- 指定された起点(包含)と指定された境界(除外)の間にある、擬似乱数的に選択された
long値のストリーム - スロー:
IllegalArgumentException-streamSizeが0未満の場合、またはrandomNumberOriginがrandomNumberBound以上の場合
-
nextBoolean
-
nextBytes
default void nextBytes(byte[] bytes) -128 (包含)と127 (包含)の間の値範囲から擬似乱数的に選択された一様なバイト値が生成されたユーザー指定のバイト配列になります。- 実装要件:
- デフォルトの実装では、
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- 擬似ランダム・バイトで埋めるためのバイト配列- スロー:
NullPointerException- bytesがnullの場合
-
nextFloat
default float nextFloat()0(これを含む)から1(これを含まない)までの範囲で、擬似乱数のfloat値を返します。- 実装要件:
- デフォルトの実装では、
nextInt()へのコールからFloat.PRECISION上位ビットが使用されます。 - 戻り値:
- 0(これを含む)から1(これを含まない)までの、擬似乱数の
float値
-
nextFloat
default float nextFloat(float bound) ゼロ(包含)と指定したバインド(除外)の間の擬似乱数的に選択したfloat値を返します。- 実装要件:
- デフォルトの実装では、
boundが正の有限浮動小数であることをチェックします。 次に、nextFloat()を呼び出して、最終結果が0.0f(包含)とbound(除外)の間にあるように結果をスケーリングします。 - パラメータ:
bound- 返される値の上限(除外)。 正および有限である必要があります- 戻り値:
- 0 (包含)とバインドされた(除外)の間の擬似乱数的に選択した
float値 - スロー:
IllegalArgumentException-boundが正と有限の両方でない場合
-
nextFloat
default float nextFloat(float origin, float bound) 指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したfloat値を返します。- 実装要件:
- デフォルトの実装では、
originおよびboundが有効であることが検証され、nextFloat()スケーリングが起動され、結果がoriginとbound(除外)の間に収まるように変換されます。 - パラメータ:
origin- 戻り値bound- 上限(含まない)- 戻り値:
- 起点(包含)と境界(除外)の間の擬似乱数的に選択した
float値 - スロー:
IllegalArgumentException-originが有限でない場合、またはboundが有限でない場合、またはoriginがbound以上である場合
-
nextDouble
default double nextDouble()0 (これを含む)から1 (これを含まない)までの、擬似乱数のdouble値を返します。- 実装要件:
- デフォルトの実装では、
nextLong()へのコールからDouble.PRECISION上位ビットが使用されます。 - 戻り値:
- 0 (これを含む)から1 (これを含まない)までの、擬似乱数の
double値
-
nextDouble
default double nextDouble(double bound) ゼロ(包含)と指定した境界(除外)の間の擬似乱数的に選択したdouble値を返します。- 実装要件:
- デフォルトの実装は、
boundが正の有限倍数であることをチェックします。 次に、nextDouble()を呼び出して、最終結果が0.0(包含)とbound(除外)の間にあるように結果をスケーリングします。 - パラメータ:
bound- 返される値の上限(除外)。 正および有限である必要があります- 戻り値:
- 0 (包含)と境界(除外)の間の擬似乱数的に選択した
double値 - スロー:
IllegalArgumentException-boundが正と有限の両方でない場合
-
nextDouble
default double nextDouble(double origin, double bound) 指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したdouble値を返します。- 実装要件:
- デフォルトの実装では、
originおよびboundが有効であることを検証し、nextDouble()スケーリングを起動して、結果をoriginとbound(exclusive)の間に収まるように変換します。 - パラメータ:
origin- 戻り値bound- 返される値の上限(除外)- 戻り値:
- 起点(包含)と境界(除外)の間の擬似乱数的に選択した
double値 - スロー:
IllegalArgumentException-originが有限でない場合、またはboundが有限でない場合、またはoriginがbound以上である場合
-
nextInt
default int nextInt()擬似乱数的に選択したint値を返します。- 実装要件:
- デフォルトの実装では、コールから
nextLong()への上位32ビットが使用されます。 - 戻り値:
- 擬似乱数的に選択された
int値
-
nextInt
default int nextInt(int bound) ゼロ(包含)と指定した境界(除外)の間の擬似乱数的に選択したint値を返します。- 実装要件:
- デフォルトの実装では、
boundが正であることがチェックされます。 次に、nextInt()を1回以上呼び出して、0 (inclusive)からbound(exclusive)の範囲の均一な分散を確保します。nextInt()の分散が均一であると想定します。 - パラメータ:
bound- 返される値の上限(除外)。 正の値でなければならない- 戻り値:
- 0 (包含)と境界(除外)の間の擬似乱数的に選択した
int値 - スロー:
IllegalArgumentException-boundが正でない場合
-
nextInt
default int nextInt(int origin, int bound) 指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したint値を返します。- 実装要件:
- デフォルトの実装では、
originがbound未満であることが確認されます。 次に、nextInt()を1回以上呼び出して、origin(inclusive)からbound(exclusive)の範囲の均一な分散を確保します。nextInt()の分散が均一であると想定します。 - パラメータ:
origin- 戻り値bound- 返される値の上限(除外)- 戻り値:
- 起点(包含)と境界(除外)の間の擬似乱数的に選択した
int値 - スロー:
IllegalArgumentException-originがboundより大きいか等しい場合
-
nextLong
long nextLong()擬似乱数的に選択したlong値を返します。- 戻り値:
- 擬似乱数的に選択された
long値
-
nextLong
default long nextLong(long bound) ゼロ(包含)と指定した境界(除外)の間の擬似乱数的に選択したlong値を返します。- 実装要件:
- パラメータ:
bound- 返される値の上限(除外)。 正の値でなければならない- 戻り値:
- 0 (包含)と境界(除外)の間の擬似乱数的に選択した
long値 - スロー:
IllegalArgumentException-boundが正でない場合
-
nextLong
default long nextLong(long origin, long bound) 指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したlong値を返します。- 実装要件:
- デフォルトの実装では、
originがbound未満であることが確認されます。 次に、nextLong()を1回以上呼び出して、origin(inclusive)からbound(exclusive)の範囲の均一な分散を確保します。nextLong()の分散が均一であると想定します。 - パラメータ:
origin- 戻り値bound- 返される値の上限(除外)- 戻り値:
- 起点(包含)と境界(除外)の間の擬似乱数的に選択した
long値 - スロー:
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値 - スロー:
IllegalArgumentException-stddevが負の場合
-
nextExponential
default double nextExponential()平均が1である指数分布から擬似乱数的に選択された、負でないdouble値を返します。- 実装要件:
- デフォルトの実装は、McFarlandの高速変更ジグラート・アルゴリズム(大規模な表駆動で、計算と拒否サンプリングで処理されるまれなケース)を使用します。 離散分布をサンプリングするためのウォーカ別名のメソッドもロールを果たします。
- 戻り値:
- 指数分布から擬似乱数的に選択された、負でない
double値
-