モジュール java.base
パッケージ java.util.random

インタフェースRandomGenerator

既知のすべてのサブインタフェース:
RandomGenerator.ArbitrarilyJumpableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.LeapableGenerator, RandomGenerator.SplittableGenerator, RandomGenerator.StreamableGenerator
既知のすべての実装クラス:
Random, SecureRandom, SplittableRandom, ThreadLocalRandom

public interface RandomGenerator
RandomGeneratorインタフェースは、数値(またはブール値)のランダムまたは(大抵)擬似乱数シーケンスを生成するオブジェクトに共通プロトコルを提供するように設計されています。 このような順序は、1つの擬似乱数的に選択した値を戻すメソッドを繰り返し起動するか、擬似乱数的に選択した値のストリームを戻すメソッドを起動することによって取得できます。

暗黙的にまたは明示的に指定された値の範囲を指定すると、各値はその範囲から独立して選択されるのが理想的です。 実際には、ある程度の近似で独立性と均一性を決める必要がある場合があります。

intlongおよびbooleanの値の場合、範囲を明示的に指定しない場合、範囲には、型の使用可能なすべての値が含まれます。 floatおよびdouble値の場合、最初に、値が常に0.0 (包含)と1.0 (除外)の間の2つのw値のセットから均一に選択されます。ここで、wfloat値の場合はFloat.PRECISIONdouble値の場合はDouble.PRECISIONです。隣接値が2w (このセットは、0.0 (包含)と1.0 (除外)の間の「すべての表現可能な浮動小数点値」セットの「サブセット」であることに注意してください)によって異なるようにします。明示的な範囲が指定されている場合、選択した数値は計算的にスケーリングされ、その明示的な範囲からほぼ均一に選択されているように変換されます。

ストリームを戻す各メソッドは、それぞれの値のストリームを生成します。これは、単一の擬似乱数的に選択した値を返すメソッドの場合と同じ方法で選択されます。 たとえば、rRandomGeneratorが実装されている場合、メソッド・コールr.ints(100)は100 int値のストリームを返します。 これらは、かわりにr.nextInt()が100回呼び出された場合に返される値とまったく同じであるとはかぎりません。これは、ストリームの各値が同じ範囲から同じような擬似乱数的な方法で選択されることが保証されています。

擬似乱数アルゴリズムを使用してRandomGeneratorインタフェースを実装するオブジェクトはすべて、有限数の状態を含むとみなされます。 このようなオブジェクトを使用して擬似乱数的に選択した値を生成すると、現在の状態以外の情報を参照せずに、新しい状態を現在の状態の関数として計算することによってその状態が変更されます。 このようなオブジェクトの考えられる個別状態の数は、「ポイント」と呼ばれます。 (RandomGeneratorインタフェースの一部の実装は、擬似乱数ではなく本当にランダムな場合があります。たとえば、選択した値を導出する物理オブジェクトの統計動作に依存しています。 このような実装には固定期間がありません。)

ルールとして、RandomGeneratorインタフェースを実装するオブジェクトはスレッド・セーフである必要はありません。 マルチスレッド・アプリケーションでは、RandomGenerator.SplittableGeneratorまたはRandomGenerator.JumpableGeneratorインタフェースを実装するThreadLocalRandomまたは(大抵)擬似乱数ジェネレータを使用することをお薦めします。

RandomGeneratorを実装するオブジェクトは通常、暗号方式ではセキュアではありません。 かわりに、SecureRandomを使用して、セキュリティに敏感なアプリケーションで使用するために暗号化で保護された擬似乱数ジェネレータを取得することを検討してください。 ただし、SecureRandomRandomGeneratorインタフェースを実装するため、SecureRandomのインスタンスは、セキュアなジェネレータを必要としないアプリケーションの他のタイプの擬似乱数ジェネレータと同義で使用できます。

特に指定がないかぎり、メソッド引数にnullを使用するとNullPointerExceptionが発生します。

導入されたバージョン:
17
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    インタフェース
    説明
    static interface 
    このインタフェースは、擬似乱数シーケンスを生成し、任意の量で簡単にjumpを状態サイクルの遠いポイントに送ることができるオブジェクトに共通のプロトコルを提供するように設計されています。
    static interface 
    このインタフェースは、擬似乱数値を生成するオブジェクトに共通のプロトコルを提供するように設計されており、状態サイクル内の離れた場所に適度な量(たとえば264)で簡単に前方にジャンプできます。
    static interface 
    このインタフェースは、擬似乱数シーケンスを生成するオブジェクトに共通のプロトコルを提供するように設計されており、その状態サイクルの非常に遠いポイントに簡単に前方にジャンプできるだけでなく、飛躍(たとえば、2128)することもできます。
    static interface 
    このインタフェースは、擬似乱数値の順序を生成するオブジェクトに共通プロトコルを提供するように設計されており、それぞれ(元のものと新しいもの)という2つのオブジェクトに「分割」で、同じプロトコル(したがって、無期限に再帰的に分割できます)に従うことができます。
    static interface 
    RandomGenerator.StreamableGeneratorインタフェースは、RandomGeneratorインタフェースを補強して、RandomGeneratorオブジェクトのストリームを返すメソッドを提供します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    default DoubleStream
    擬似乱数的に選択されたdouble値の実質的に無制限のストリームを返します。
    default DoubleStream
    doubles(double randomNumberOrigin, double randomNumberBound)
    擬似乱数的に選択したdouble値の実質的に無制限のストリームを返します。各値は、指定された起点(包含)と指定された境界(除外)の間です。
    default DoubleStream
    doubles(long streamSize)
    指定されたstreamSize数の擬似乱数的に選択したdouble値を生成するストリームを返します。
    default DoubleStream
    doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)
    擬似乱数的に選択したdouble値のstreamSize数を生成するストリームを返します。各値は、指定された起点(包含)と、指定された境界(除外)の間です。
    状態ビットが64以上のalgorithmを持つ最小要件を満たすRandomGeneratorを返します。
    default IntStream
    擬似乱数的に選択されたint値の実質的に無制限のストリームを返します。
    default IntStream
    ints(int randomNumberOrigin, int randomNumberBound)
    擬似乱数的に選択したint値の実質的に無制限のストリームを返します。各値は、指定された起点(包含)と指定された境界(除外)の間です。
    default IntStream
    ints(long streamSize)
    指定されたstreamSize数の擬似乱数的に選択したint値を生成するストリームを返します。
    default IntStream
    ints(long streamSize, int randomNumberOrigin, int randomNumberBound)
    指定された擬似乱数的に選択したint値のstreamSize数を生成するストリームを返します。各値は、指定された起点(包含)と、指定された境界(除外)の間です。
    default boolean
    RandomGenerator (algorithm)の実装が非推奨としてマークされている場合はtrueを返します。
    default LongStream
    擬似乱数的に選択されたlong値の実質的に無制限のストリームを返します。
    default LongStream
    longs(long streamSize)
    指定されたstreamSize数の擬似乱数的に選択したlong値を生成するストリームを返します。
    default LongStream
    longs(long randomNumberOrigin, long randomNumberBound)
    擬似乱数的に選択したlong値の実質的に無制限のストリームを返します。各値は、指定された起点(包含)と指定された境界(除外)の間です。
    default LongStream
    longs(long streamSize, long randomNumberOrigin, long randomNumberBound)
    擬似乱数的に選択したlong値のstreamSize数を生成するストリームを返します。各値は、指定された起点(包含)と、指定された境界(除外)の間です。
    default boolean
    擬似乱数的に選択したboolean値を返します。
    default void
    nextBytes(byte[] bytes)
    -128 (包含)と127 (包含)の間の値範囲から擬似乱数的に選択された一様なバイト値が生成されたユーザー指定のバイト配列になります。
    default double
    0 (これを含む)から1 (これを含まない)までの、擬似乱数のdouble値を返します。
    default double
    nextDouble(double bound)
    ゼロ(包含)と指定した境界(除外)の間の擬似乱数的に選択したdouble値を返します。
    default double
    nextDouble(double origin, double bound)
    指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したdouble値を返します。
    default double
    平均が1である指数分布から擬似乱数的に選択された、負でないdouble値を返します。
    default float
    0(これを含む)から1(これを含まない)までの範囲で、擬似乱数のfloat値を返します。
    default float
    nextFloat(float bound)
    ゼロ(包含)と指定したバインド(除外)の間の擬似乱数的に選択したfloat値を返します。
    default float
    nextFloat(float origin, float bound)
    指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したfloat値を返します。
    default double
    平均が0で、標準偏差が1であるガウス(正規)分布から擬似乱数的に選択されたdouble値を返します。
    default double
    nextGaussian(double mean, double stddev)
    ガウス(正規)分布から擬似乱数的に選択されたdouble値を、引数で指定された平均偏差および標準偏差で返します。
    default int
    擬似乱数的に選択したint値を返します。
    default int
    nextInt(int bound)
    ゼロ(包含)と指定した境界(除外)の間の擬似乱数的に選択したint値を返します。
    default int
    nextInt(int origin, int bound)
    指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したint値を返します。
    long
    擬似乱数的に選択したlong値を返します。
    default long
    nextLong(long bound)
    ゼロ(包含)と指定した境界(除外)の間の擬似乱数的に選択したlong値を返します。
    default long
    nextLong(long origin, long bound)
    指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したlong値を返します。
    of(String name)
    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値の実質的に無制限のストリームを返します。各値は、指定された起点(包含)と指定された境界(除外)の間です。
      実装要件:
      デフォルトの実装では、nextDouble(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。
      実装上のノート:
      このメソッドは、doubles (Long.MAX_VALUE、randomNumberOrigin、randomNumberBound)と同等の方法で実装できます。
      パラメータ:
      randomNumberOrigin - 作成できる最小値
      randomNumberBound - 生成された各値の上限(除外)
      戻り値:
      指定された起点(包含)と指定された境界(除外)の間にある、擬似乱数的に選択されたdouble値のストリーム
      throws:
      IllegalArgumentException - randomNumberOriginが有限でない場合、またはrandomNumberBoundが有限でない場合、またはrandomNumberOriginrandomNumberBound以上である場合
    • 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数を生成するストリームを返します。各値は、指定された起点(包含)と、指定された境界(除外)の間です。
      実装要件:
      デフォルトの実装では、nextDouble(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。
      パラメータ:
      streamSize - 生成する値の数
      randomNumberOrigin - 作成できる最小値
      randomNumberBound - 生成された各値の上限(除外)
      戻り値:
      指定された起点(包含)と指定された境界(除外)の間にある、擬似乱数的に選択されたdouble値のストリーム
      throws:
      IllegalArgumentException - streamSizeがゼロ未満またはrandomNumberOriginが有限でない場合、またはrandomNumberBoundが有限でない場合、またはrandomNumberOriginrandomNumberBound以上である場合
    • 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値のストリーム
      throws:
      IllegalArgumentException - randomNumberOriginrandomNumberBound以上の場合
    • 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数を生成するストリームを返します。各値は、指定された起点(包含)と、指定された境界(除外)の間です。
      実装要件:
      デフォルトの実装では、nextInt(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。
      パラメータ:
      streamSize - 生成する値の数
      randomNumberOrigin - 作成できる最小値
      randomNumberBound - 生成された各値の上限(除外)
      戻り値:
      指定された起点(包含)と指定された境界(除外)の間にある、擬似乱数的に選択されたint値のストリーム
      throws:
      IllegalArgumentException - streamSizeが0未満の場合、またはrandomNumberOriginrandomNumberBound以上の場合
    • 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値のストリーム
      throws:
      IllegalArgumentException - randomNumberOriginrandomNumberBound以上の場合
    • 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数を生成するストリームを返します。各値は、指定された起点(包含)と、指定された境界(除外)の間です。
      実装要件:
      デフォルトの実装では、nextLong(randomNumberOrigin, randomNumberBound)を繰り返し呼び出す順次ストリームが生成されます。
      パラメータ:
      streamSize - 生成する値の数
      randomNumberOrigin - 作成できる最小値
      randomNumberBound - 生成された各値の上限(除外)
      戻り値:
      指定された起点(包含)と指定された境界(除外)の間にある、擬似乱数的に選択されたlong値のストリーム
      throws:
      IllegalArgumentException - streamSizeが0未満の場合、またはrandomNumberOriginrandomNumberBound以上の場合
    • nextBoolean

      default boolean nextBoolean()
      擬似乱数的に選択したboolean値を返します。

      デフォルトの実装は、nextInt()によって生成される値の上位ビット (サイン・ビット)を、擬似乱数生成のアルゴリズムによっては、低位ビットよりも高位ビットの統計品質を持つ値が生成されることを条件でテストします。

      実装要件:
      デフォルトの実装は、nextInt()によって生成された数値の符号ビットに基づいて結果を生成します。
      戻り値:
      擬似乱数的に選択されたboolean
    • 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 - 擬似ランダム・バイトで埋めるためのバイト配列
      throws:
      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
      throws:
      IllegalArgumentException - boundが正と有限の両方でない場合
    • nextFloat

      default float nextFloat(float origin, float bound)
      指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したfloat値を返します。
      実装要件:
      デフォルトの実装では、originおよびboundが有効であることが検証され、nextFloat()スケーリングが起動され、結果がoriginbound (除外)の間に収まるように変換されます。
      パラメータ:
      origin - 戻り値
      bound - 上限(含まない)
      戻り値:
      起点(包含)と境界(除外)の間の擬似乱数的に選択したfloat
      throws:
      IllegalArgumentException - originが有限でない場合、またはboundが有限でない場合、またはoriginbound以上である場合
    • 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
      throws:
      IllegalArgumentException - boundが正と有限の両方でない場合
    • nextDouble

      default double nextDouble(double origin, double bound)
      指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したdouble値を返します。
      実装要件:
      デフォルトの実装では、originおよびboundが有効であることを検証し、nextDouble()スケーリングを起動して、結果をoriginbound (exclusive)の間に収まるように変換します。
      パラメータ:
      origin - 戻り値
      bound - 返される値の上限(除外)
      戻り値:
      起点(包含)と境界(除外)の間の擬似乱数的に選択したdouble
      throws:
      IllegalArgumentException - originが有限でない場合、またはboundが有限でない場合、またはoriginbound以上である場合
    • nextInt

      default int nextInt()
      擬似乱数的に選択したint値を返します。
      実装要件:
      デフォルトの実装では、コールからnextLong()への上位32ビットが使用されます。
      戻り値:
      擬似乱数的に選択されたint
    • nextInt

      default int nextInt(int bound)
      ゼロ(包含)と指定した境界(除外)の間の擬似乱数的に選択したint値を返します。
      実装要件:
      デフォルトの実装は、boundがプラスのintであることをチェックします。 次に、nextInt()を起動し、結果をゼロ以上、bound未満に制限します。 boundが2の累乗の場合、制限は単純なマスキング操作です。 それ以外の場合、結果がゼロ以上でbound未満になるまで、nextInt()を呼び出して結果が再計算されます。
      パラメータ:
      bound - 返される値の上限(除外)。 正の値でなければならない
      戻り値:
      0 (包含)と境界(除外)の間の擬似乱数的に選択したint
      throws:
      IllegalArgumentException - boundが正でない場合
    • nextInt

      default int nextInt(int origin, int bound)
      指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したint値を返します。
      実装要件:
      デフォルトの実装は、originおよびboundが正のintsであることをチェックします。 次に、nextInt()を起動し、結果をorigin以上、bound未満に制限します。 boundが2の累乗の場合、制限は単純なマスキング操作です。 それ以外の場合、結果はorigin以上bound未満になるまで、nextInt()を呼び出して再計算されます。
      パラメータ:
      origin - 戻り値
      bound - 返される値の上限(除外)
      戻り値:
      起点(包含)と境界(除外)の間の擬似乱数的に選択したint
      throws:
      IllegalArgumentException - originboundより大きいか等しい場合
    • nextLong

      long nextLong()
      擬似乱数的に選択したlong値を返します。
      戻り値:
      擬似乱数的に選択されたlong
    • nextLong

      default long nextLong(long bound)
      ゼロ(包含)と指定した境界(除外)の間の擬似乱数的に選択したlong値を返します。
      実装要件:
      デフォルトの実装は、boundがプラスのlongであることをチェックします。 次に、nextLong()を起動し、結果をゼロ以上、bound未満に制限します。 boundが2の累乗の場合、制限は単純なマスキング操作です。 それ以外の場合、結果がゼロ以上でbound未満になるまで、nextLong()を呼び出して結果が再計算されます。
      パラメータ:
      bound - 返される値の上限(除外)。 正の値でなければならない
      戻り値:
      0 (包含)と境界(除外)の間の擬似乱数的に選択したlong
      throws:
      IllegalArgumentException - boundが正でない場合
    • nextLong

      default long nextLong(long origin, long bound)
      指定された起点(包含)と指定された境界(除外)の間の擬似乱数的に選択したlong値を返します。
      実装要件:
      デフォルトの実装は、originおよびboundが正のlongsであることをチェックします。 次に、nextLong()を起動し、結果をorigin以上、bound未満に制限します。 boundが2の累乗の場合、制限は単純なマスキング操作です。 それ以外の場合、結果はorigin以上bound未満になるまで、nextLong()を呼び出して再計算されます。
      パラメータ:
      origin - 戻り値
      bound - 返される値の上限(除外)
      戻り値:
      起点(包含)と境界(除外)の間の擬似乱数的に選択したlong
      throws:
      IllegalArgumentException - originboundより大きいか等しい場合
    • 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