- すべての実装されたインタフェース:
Serializable
,RandomGenerator
- 直系の既知のサブクラス:
SecureRandom
,ThreadLocalRandom
2つのRandom
インスタンスが同じシードで生成されている場合、それぞれに対して同じシーケンスでメソッド呼出しを行うと、同じシーケンスで数値が生成され返されます。 この特性を保証するために、Random
クラスには固有のアルゴリズムが指定されています。 Javaコードの絶対的な移植性の保持のために、Javaの実装はここに示されているRandom
クラスのアルゴリズムをすべて使用する必要があります。 ただし、Random
クラスのサブクラスは、すべてのメソッドの一般規約に準拠したものであればほかのアルゴリズムも使用できます。
Random
クラスによって実装されるアルゴリズムでは、各呼出しで擬似乱数的に生成された最大32ビットを提供できるprotected
ユーティリティ・メソッドが使用されます。
多くのアプリケーションの場合、Math.random()
メソッドを使うほうが簡単です。
java.util.Random
のインスタンスはスレッド・セーフです。 ただし、複数のスレッドで同じjava.util.Random
インスタンスを並行して使用すると、競合が発生してパフォーマンスが低下する可能性があります。 マルチ・スレッド設計では、代わりにThreadLocalRandom
を使用することを検討してください。
java.util.Random
のインスタンスには安全な暗号化が施されていません。 セキュリティ保護を必要とするアプリケーションで使用するために安全な暗号化の施された擬似乱数ジェネレータを取得するには、代わりにSecureRandom
を使用することを検討してください。
- 導入されたバージョン:
- 1.0
- 関連項目:
-
ネストされたクラスのサマリー
インタフェースjava.util.random.RandomGeneratorで宣言されたネストされたクラス/インタフェース
RandomGenerator.ArbitrarilyJumpableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.LeapableGenerator, RandomGenerator.SplittableGenerator, RandomGenerator.StreamableGenerator
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明doubles()
0(含む)から1(含まない)までの擬似乱数double
値を含む、事実上無制限のストリームを返します。doubles
(double randomNumberOrigin, double randomNumberBound) 指定された起点(含む)と境界(含まない)に準拠した擬似乱数double
値を含む、事実上無制限のストリームを返します。doubles
(long streamSize) 0(含む)から1(含まない)までの擬似乱数double
値を、指定されたstreamSize
数だけ生成するストリームを返します。doubles
(long streamSize, double randomNumberOrigin, double randomNumberBound) 指定された起点(含む)と境界(含まない)に準拠した擬似乱数double
値を、指定されたstreamSize
数だけ生成するストリームを返します。static Random
from
(RandomGenerator generator) メソッド・コールをRandomGenerator
引数に委任するRandom
のインスタンスを返します。ints()
擬似乱数int
値を含む、事実上無制限のストリームを返します。ints
(int randomNumberOrigin, int randomNumberBound) 指定された起点(含む)と境界(含まない)に準拠した擬似乱数int
値を含む、事実上無制限のストリームを返します。ints
(long streamSize) 擬似乱数int
値を、指定されたstreamSize
数だけ生成するストリームを返します。ints
(long streamSize, int randomNumberOrigin, int randomNumberBound) 指定された起点(含む)と境界(含まない)に準拠した擬似乱数int
値を、指定されたstreamSize
数だけ生成するストリームを返します。longs()
擬似乱数long
値を含む、事実上無制限のストリームを返します。longs
(long streamSize) 擬似乱数long
値を、指定されたstreamSize
数だけ生成するストリームを返します。longs
(long randomNumberOrigin, long randomNumberBound) 指定された起点(含む)と境界(含まない)に準拠した擬似乱数long
値を含む、事実上無制限のストリームを返します。longs
(long streamSize, long randomNumberOrigin, long randomNumberBound) 指定された起点(含む)と境界(含まない)に準拠した擬似乱数long
を、指定されたstreamSize
数だけ生成するストリームを返します。protected int
next
(int bits) 次の擬似乱数を生成します。boolean
この乱数ジェネレータのシーケンスを使って、一様分布のboolean
型の次の擬似乱数値を返します。void
nextBytes
(byte[] bytes) ランダム・バイトを生成し、ユーザー指定のバイト配列に配置します。double
この乱数ジェネレータのシーケンスを使って、0.0
から1.0
の範囲で一様分布のdouble
型の次の擬似乱数値を返します。float
この乱数ジェネレータのシーケンスを使って、0.0
から1.0
の範囲で一様分布のfloat
型の次の擬似乱数値を返します。double
この乱数ジェネレータのシーケンスを使って、平均0.0
、標準偏差1.0
のガウス(「正規」)分布のdouble
型の擬似乱数値を返します。int
nextInt()
この乱数ジェネレータのシーケンスを使って、一様分布のint
型の次の擬似乱数値を返します。int
nextInt
(int bound) この乱数ジェネレータのシーケンスを使って、0から指定された値の範囲(0は含むが、その指定された値は含まない)で一様分布のint
型の擬似乱数値を返します。long
nextLong()
この乱数ジェネレータのシーケンスを使って、一様分布のlong
型の次の擬似乱数値を返します。void
setSeed
(long seed) 指定されたlong
シード値(オプションの操作)を使用して、この乱数ジェネレータのシードを設定または更新します。クラスjava.lang.Objectで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
インタフェースjava.util.random.RandomGeneratorで宣言されたメソッド
equiDoubles, isDeprecated, nextDouble, nextDouble, nextExponential, nextFloat, nextFloat, nextGaussian, nextInt, nextLong, nextLong
-
コンストラクタの詳細
-
Random
public Random()新規乱数ジェネレータを作成します。 このコンストラクタは、乱数ジェネレータのシードを、このコンストラクタの他の呼び出しと区別可能な値に設定します。 -
Random
public Random(long seed) 単一のlong
型のシードを使って、新しい乱数ジェネレータを作成します。 シードは、擬似乱数ジェネレータの内部状態の初期値で、next(int)
メソッドによって保守されます。- 実装要件:
- 呼び出し
new Random(seed)
は次と等価です。Random rnd = new Random(); rnd.setSeed(seed);
- パラメータ:
seed
- 初期シード- 関連項目:
-
-
メソッドの詳細
-
from
public static Random from(RandomGenerator generator) メソッド・コールをRandomGenerator
引数に委任するRandom
のインスタンスを返します。 ジェネレータがRandom
のインスタンスである場合、それが返されます。 それ以外の場合、このメソッドは、setSeed
以外のすべてのメソッドをジェネレータに委任するRandom
のインスタンスを返します。 戻されたインスタンスsetSeed
メソッドは、常にUnsupportedOperationException
をスローします。 返されるインスタンスは直列化可能ではありません。- パラメータ:
generator
-RandomGenerator
コールの委任先- 戻り値:
- 委任
Random
インスタンス - 例外:
NullPointerException
- ジェネレータがnullの場合- 導入されたバージョン:
- 19
-
setSeed
public void setSeed(long seed) 指定されたlong
シード値(オプションの操作)を使用して、この乱数ジェネレータのシードを設定または更新します。- 実装要件:
- このクラスの実装は、この乱数ジェネレータの状態を変更して、
new Random(seed)
で作成されたものと同じ状態になるようにします。 シードを原子的に更新(seed ^ 0x5DEECE66DL) & ((1L << 48) - 1)
nextGaussian()
で使用されるhaveNextNextGaussian
フラグをクリアします。 これは、指定されたシード値の48ビットのみを使用します。 - パラメータ:
seed
- シード値- 例外:
UnsupportedOperationException
-setSeed
演算がこの乱数ジェネレータでサポートされていない場合
-
next
protected int next(int bits) 次の擬似乱数を生成します。 このメソッドは、引数bits
が1
と32
(inclusive)の間にある場合、戻される値の多くの下位ビットが(近似)で独立して選択されたビット値になり、それぞれが(近似)で0
または1
になる可能性も同様に高いint
値を返します。- APIのノート:
- このクラスの他のランダム生成メソッドは、このメソッドに関して実装されるため、サブクラスはこのメソッドのみをオーバーライドして、クラス全体の疑似乱数の異なるソースを提供できます。
- 実装要件:
- このクラスの実装は、シードを原子的に更新
戻します(seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1)
(int)(seed >>> (48 - bits))
.これは、D. H. Lehmerによって定義された、線形合同擬似乱数ジェネレータです。 「The Art of Computer Programming, Volume 2, Third edition: 英数字アルゴリズム」のKnuth、セクション3.2.1。
- パラメータ:
bits
- ランダム・ビット- 戻り値:
- この乱数ジェネレータのシーケンスに基づく次の擬似乱数値
- 導入されたバージョン:
- 1.1
-
nextBytes
public void nextBytes(byte[] bytes) ランダム・バイトを生成し、ユーザー指定のバイト配列に配置します。 作成されるランダム・バイトの数は、バイト配列の長さと等しくなります。- 定義:
- インタフェース
RandomGenerator
内のnextBytes
- 実装要件:
Random
クラスによるnextBytes
メソッドの実装は、次と同等です。public void nextBytes(byte[] bytes) { for (int i = 0; i < bytes.length; ) for (int rnd = nextInt(), n = Math.min(bytes.length - i, 4); n-- > 0; rnd >>= 8) bytes[i++] = (byte)rnd; }
- パラメータ:
bytes
- 乱数バイトを格納するバイト配列- 例外:
NullPointerException
- バイト配列がnullである場合- 導入されたバージョン:
- 1.1
-
nextInt
public int nextInt()この乱数ジェネレータのシーケンスを使って、一様分布のint
型の次の擬似乱数値を返します。nextInt
の一般規約では、1つのint
型の値が擬似乱数として生成されて返されます。 232個のすべての可能なint
値が(ほぼ)均等な確率で生成されます。- 定義:
- インタフェース
RandomGenerator
内のnextInt
- 実装要件:
Random
クラスによるnextInt
メソッドの実装は、次と同等です。public int nextInt() { return next(32); }
- 戻り値:
- この乱数ジェネレータのシーケンスを使って生成された、一様分布の
int
型の次の擬似乱数値
-
nextInt
public int nextInt(int bound) この乱数ジェネレータのシーケンスを使って、0から指定された値の範囲(0は含むが、その指定された値は含まない)で一様分布のint
型の擬似乱数値を返します。nextInt
の一般規約では、指定された範囲内の1つのint
型の値が擬似乱数として生成されて返されます。bound
個のすべての可能なint
値が(ほぼ)均等な確率で生成されます。- 定義:
- インタフェース
RandomGenerator
内のnextInt
- 実装要件:
nextInt(int bound)
メソッドは、Random
クラスによって次のように実装されます。public int nextInt(int bound) { if (bound <= 0) throw new IllegalArgumentException("bound must be positive"); if ((bound & -bound) == bound) // i.e., bound is a power of 2 return (int)((bound * (long)next(31)) >> 31); int bits, val; do { bits = next(31); val = bits % bound; } while (bits - val + (bound-1) < 0); return val; }
上記の説明で「ほぼ」という言葉を使用しているのは、nextメソッドが単にほとんど無関係に選択されたビットの中立的なソースだからです。 ランダムに選択されたビットの完全なソースであるとすれば、示されたアルゴリズムは指定された範囲から完全な一貫性で
int
型の値を選択することになります。このアルゴリズムは多少扱いづらい面があります。 このアルゴリズムは一様でない分布になる値を拒絶します(2^31がnで割れないことによる)。 値が拒絶される確率はnによって異なります。 最悪のケースはn=2^30+1で、この場合、拒絶の確率は1/2になり、ループが強制終了するまでの予想される反復回数は2回です。
このアルゴリズムは、nが2の累乗であるケースを特別に処理します。このアルゴリズムは、基になる擬似乱数ジェネレータから適切な数の上位ビットを返します。 特別な処理がない場合は、適切な数の下位ビットが返されます。 このクラスで実装されているような線形合同擬似乱数ジェネレータは、下位ビットの値のシーケンスで周期が短いことが知られています。 そのため、この特別なケースでは、nが2の小さな累乗である場合、このメソッドの連続した呼出しによって返される値のシーケンスの長さが大幅に長くなります。
- パラメータ:
bound
- 上限(含まない)。 正の値でなければならない- 戻り値:
- この乱数ジェネレータのシーケンスを使った、0(含む)から
bound
(含まない)の範囲で一様分布の、int
型の次の擬似乱数値 - 例外:
IllegalArgumentException
- boundが正でない場合- 導入されたバージョン:
- 1.2
-
nextLong
public long nextLong()この乱数ジェネレータのシーケンスを使って、一様分布のlong
型の次の擬似乱数値を返します。nextLong
の一般規約では、1つのlong
型の値が擬似乱数として生成されて返されます。- 定義:
- インタフェース
RandomGenerator
内のnextLong
- 実装要件:
Random
クラスによるnextLong
メソッドの実装は、次と同等です。public long nextLong() { return ((long)next(32) << 32) + next(32); }
Random
クラスは48ビットのみを含むシードを使用するため、このアルゴリズムは可能なすべてのlong
値の一部しか返しません。- 戻り値:
- この乱数ジェネレータのシーケンスを使って生成された、一様分布の
long
型の次の擬似乱数値
-
nextBoolean
public boolean nextBoolean()この乱数ジェネレータのシーケンスを使って、一様分布のboolean
型の次の擬似乱数値を返します。nextBoolean
の一般規約では、1つのboolean
型の値が擬似乱数として生成されて返されます。 値true
とfalse
が(ほぼ)均等な確率で生成されます。- 定義:
- インタフェース
RandomGenerator
内のnextBoolean
- 実装要件:
Random
クラスによるnextBoolean
メソッドの実装は、次と同等です。public boolean nextBoolean() { return next(1) != 0; }
- 戻り値:
- この乱数ジェネレータのシーケンスを使って生成された、一様分布の
boolean
型の次の擬似乱数値 - 導入されたバージョン:
- 1.2
-
nextFloat
public float nextFloat()この乱数ジェネレータのシーケンスを使って、0.0
から1.0
の範囲で一様分布のfloat
型の次の擬似乱数値を返します。nextFloat
の一般規約では、0.0f
から1.0f
の範囲(0.0fは含むが、1.0fは含まない)から(ほぼ)均等な確率で選択された1つのfloat
値が擬似乱数として生成されて返されます。 形式m x 2-24(mは224未満の正の整数)の、224個のすべての可能なfloat
値が(ほぼ)均等な確率で生成されます。- 定義:
- インタフェース
RandomGenerator
内のnextFloat
- 実装要件:
Random
クラスによるnextFloat
メソッドの実装は、次と同等です。public float nextFloat() { return next(24) / ((float)(1 << 24)); }
上記の説明で「ほぼ」という言葉を使用しているのは、nextメソッドが単にほとんど無関係に選択されたビットの中立的なソースだからです。 ランダムに選択されたビットの完全なソースであるとすれば、示されたアルゴリズムは指定された範囲から完全な一貫性で
float
型の値を選択することになります。[以前のバージョンのJavaでは、結果は次のように誤って計算されました。
return next(30) / ((float)(1 << 30));
- 戻り値:
- この乱数ジェネレータ・シーケンスから
0.0f
と1.0f
の間に均一に分散された次の疑似ランダムfloat
値
-
nextDouble
public double nextDouble()この乱数ジェネレータのシーケンスを使って、0.0
から1.0
の範囲で一様分布のdouble
型の次の擬似乱数値を返します。nextDouble
の一般規約では、0.0d
から1.0d
の範囲(0.0fは含むが、1.0fは含まない)から(ほぼ)均等な確率で選択された1つのdouble
値が擬似乱数として生成されて返されます。- 定義:
- インタフェース
RandomGenerator
内のnextDouble
- 実装要件:
Random
クラスによるnextDouble
メソッドの実装は、次と同等です。public double nextDouble() { return (((long)next(26) << 27) + next(27)) / (double)(1L << 53); }
上記の説明で「ほぼ」という言葉を使用しているのは、独立して選択されたビットのソースとして
next
メソッドが偏りがないのは、近似的にのみ成立するからです。 ランダムに選択されたビットの完全なソースであるとすれば、示されたアルゴリズムは指定された範囲から完全な一貫性でdouble
型の値を選択することになります。[以前のバージョンのJavaでは、結果は次のように誤って計算されました。
return (((long)next(27) << 27) + next(27)) / (double)(1L << 54);
- 戻り値:
- この乱数ジェネレータのシーケンスを使って生成された、
0.0
から1.0
の範囲の一様分布のdouble
型の次の擬似乱数値 - 関連項目:
-
nextGaussian
public double nextGaussian()この乱数ジェネレータのシーケンスを使って、平均0.0
、標準偏差1.0
のガウス(「正規」)分布のdouble
型の擬似乱数値を返します。nextGaussian
の一般規約では、平均0.0
、標準偏差1.0
のほぼ通常の正規分布から選択された1つのdouble
値が、擬似乱数として生成されて返されます。- 定義:
- インタフェース
RandomGenerator
内のnextGaussian
- 実装要件:
Random
クラスによるnextGaussian
メソッドの実装は、次のスレッド・セーフなバージョンと同等です。
polar methodを使用します - これは、G. E. P. Box、M. E. Muller、およびG. Marsaglia、Donald E. 「The Art of Computer Programming, Volume 2, third edition: 英数字アルゴリズム」のKnuth、セクション3.4.1、サブセクションC、アルゴリズムP。private double nextNextGaussian; private boolean haveNextNextGaussian = false; public double nextGaussian() { if (haveNextNextGaussian) { haveNextNextGaussian = false; return nextNextGaussian; } else { double v1, v2, s; do { v1 = 2 * nextDouble() - 1; // between -1.0 and 1.0 v2 = 2 * nextDouble() - 1; // between -1.0 and 1.0 s = v1 * v1 + v2 * v2; } while (s >= 1 || s == 0); double multiplier = StrictMath.sqrt(-2 * StrictMath.log(s)/s); nextNextGaussian = v2 * multiplier; haveNextNextGaussian = true; return v1 * multiplier; } }
StrictMath.log
とStrictMath.sqrt
の1回ずつの呼び出しだけで2つの別々の値を生成することに注意してください。- 戻り値:
- この乱数ジェネレータのシーケンスを使った、平均
0.0
、標準偏差1.0
のガウス(「正規」)分布のdouble
型の次の擬似乱数値
-
ints
public IntStream ints(long streamSize) 擬似乱数int
値を、指定されたstreamSize
数だけ生成するストリームを返します。メソッド
nextInt()
呼び出しの結果と同様に、擬似乱数int
値が生成されます。- 定義:
- インタフェース
RandomGenerator
内のints
- パラメータ:
streamSize
- 生成する値の数- 戻り値:
- 擬似乱数
int
値のストリーム - 例外:
IllegalArgumentException
-streamSize
が0未満の場合- 導入されたバージョン:
- 1.8
-
ints
public IntStream ints()擬似乱数int
値を含む、事実上無制限のストリームを返します。メソッド
nextInt()
呼び出しの結果と同様に、擬似乱数int
値が生成されます。- 定義:
- インタフェース
RandomGenerator
内のints
- 実装上のノート:
- このメソッドは、
ints(Long.MAX_VALUE)
と同等であるように実装されます。 - 戻り値:
- 擬似乱数
int
値のストリーム - 導入されたバージョン:
- 1.8
-
ints
public IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound) 指定された起点(含む)と境界(含まない)に準拠した擬似乱数int
値を、指定されたstreamSize
数だけ生成するストリームを返します。起点と境界を指定した次のメソッド呼び出しの結果と同様に、擬似乱数
int
値が生成されます。int nextInt(int origin, int bound) { int n = bound - origin; if (n > 0) { return nextInt(n) + origin; } else { // range not representable as int int r; do { r = nextInt(); } while (r < origin || r >= bound); return r; } }
- 定義:
- インタフェース
RandomGenerator
内のints
- パラメータ:
streamSize
- 生成する値の数randomNumberOrigin
- 各乱数値の起点(含む)randomNumberBound
- 各乱数値の境界(含まない)- 戻り値:
- それぞれ起点(含む)と境界(含まない)が指定された、擬似乱数
int
値のストリーム - 例外:
IllegalArgumentException
-streamSize
が0未満の場合、またはrandomNumberOrigin
がrandomNumberBound
以上の場合- 導入されたバージョン:
- 1.8
-
ints
public IntStream ints(int randomNumberOrigin, int randomNumberBound) 指定された起点(含む)と境界(含まない)に準拠した擬似乱数int
値を含む、事実上無制限のストリームを返します。起点と境界を指定した次のメソッド呼び出しの結果と同様に、擬似乱数
int
値が生成されます。int nextInt(int origin, int bound) { int n = bound - origin; if (n > 0) { return nextInt(n) + origin; } else { // range not representable as int int r; do { r = nextInt(); } while (r < origin || r >= bound); return r; } }
- 定義:
- インタフェース
RandomGenerator
内のints
- 実装上のノート:
- このメソッドは、
ints(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)
と同等であるように実装されます。 - パラメータ:
randomNumberOrigin
- 各乱数値の起点(含む)randomNumberBound
- 各乱数値の境界(含まない)- 戻り値:
- それぞれ起点(含む)と境界(含まない)が指定された、擬似乱数
int
値のストリーム - 例外:
IllegalArgumentException
-randomNumberOrigin
がrandomNumberBound
以上の場合- 導入されたバージョン:
- 1.8
-
longs
public LongStream longs(long streamSize) 擬似乱数long
値を、指定されたstreamSize
数だけ生成するストリームを返します。メソッド
nextLong()
呼び出しの結果と同様に、擬似乱数long
値が生成されます。- 定義:
- インタフェース
RandomGenerator
内のlongs
- パラメータ:
streamSize
- 生成する値の数- 戻り値:
- 擬似乱数
long
値のストリーム - 例外:
IllegalArgumentException
-streamSize
が0未満の場合- 導入されたバージョン:
- 1.8
-
longs
public LongStream longs()擬似乱数long
値を含む、事実上無制限のストリームを返します。メソッド
nextLong()
呼び出しの結果と同様に、擬似乱数long
値が生成されます。- 定義:
- インタフェース
RandomGenerator
内のlongs
- 実装上のノート:
- このメソッドは、
longs(Long.MAX_VALUE)
と同等であるように実装されます。 - 戻り値:
- 擬似乱数
long
値のストリーム - 導入されたバージョン:
- 1.8
-
longs
public LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound) 指定された起点(含む)と境界(含まない)に準拠した擬似乱数long
を、指定されたstreamSize
数だけ生成するストリームを返します。起点と境界を指定した次のメソッド呼び出しの結果と同様に、擬似乱数
long
値が生成されます。long nextLong(long origin, long bound) { long r = nextLong(); long n = bound - origin, m = n - 1; if ((n & m) == 0L) // power of two r = (r & m) + origin; else if (n > 0L) { // reject over-represented candidates for (long u = r >>> 1; // ensure nonnegative u + m - (r = u % n) < 0L; // rejection check u = nextLong() >>> 1) // retry ; r += origin; } else { // range not representable as long while (r < origin || r >= bound) r = nextLong(); } return r; }
- 定義:
- インタフェース
RandomGenerator
内のlongs
- パラメータ:
streamSize
- 生成する値の数randomNumberOrigin
- 各乱数値の起点(含む)randomNumberBound
- 各乱数値の境界(含まない)- 戻り値:
- それぞれ起点(含む)と境界(含まない)が指定された、擬似乱数
long
値のストリーム - 例外:
IllegalArgumentException
-streamSize
が0未満の場合、またはrandomNumberOrigin
がrandomNumberBound
以上の場合- 導入されたバージョン:
- 1.8
-
longs
public LongStream longs(long randomNumberOrigin, long randomNumberBound) 指定された起点(含む)と境界(含まない)に準拠した擬似乱数long
値を含む、事実上無制限のストリームを返します。起点と境界を指定した次のメソッド呼び出しの結果と同様に、擬似乱数
long
値が生成されます。long nextLong(long origin, long bound) { long r = nextLong(); long n = bound - origin, m = n - 1; if ((n & m) == 0L) // power of two r = (r & m) + origin; else if (n > 0L) { // reject over-represented candidates for (long u = r >>> 1; // ensure nonnegative u + m - (r = u % n) < 0L; // rejection check u = nextLong() >>> 1) // retry ; r += origin; } else { // range not representable as long while (r < origin || r >= bound) r = nextLong(); } return r; }
- 定義:
- インタフェース
RandomGenerator
内のlongs
- 実装上のノート:
- このメソッドは、
longs(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)
と同等であるように実装されます。 - パラメータ:
randomNumberOrigin
- 各乱数値の起点(含む)randomNumberBound
- 各乱数値の境界(含まない)- 戻り値:
- それぞれ起点(含む)と境界(含まない)が指定された、擬似乱数
long
値のストリーム - 例外:
IllegalArgumentException
-randomNumberOrigin
がrandomNumberBound
以上の場合- 導入されたバージョン:
- 1.8
-
doubles
public DoubleStream doubles(long streamSize) 0(含む)から1(含まない)までの擬似乱数double
値を、指定されたstreamSize
数だけ生成するストリームを返します。メソッド
nextDouble()
の呼出しの結果と同様に、擬似乱数double
値が生成されます。- 定義:
- インタフェース
RandomGenerator
内のdoubles
- パラメータ:
streamSize
- 生成する値の数- 戻り値:
double
値のストリーム- 例外:
IllegalArgumentException
-streamSize
が0未満の場合- 導入されたバージョン:
- 1.8
-
doubles
public DoubleStream doubles()0(含む)から1(含まない)までの擬似乱数double
値を含む、事実上無制限のストリームを返します。メソッド
nextDouble()
の呼出しの結果と同様に、擬似乱数double
値が生成されます。- 定義:
- インタフェース
RandomGenerator
内のdoubles
- 実装上のノート:
- このメソッドは、
doubles(Long.MAX_VALUE)
と同等であるように実装されます。 - 戻り値:
- 擬似乱数
double
値のストリーム - 導入されたバージョン:
- 1.8
-
doubles
public DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) 指定された起点(含む)と境界(含まない)に準拠した擬似乱数double
値を、指定されたstreamSize
数だけ生成するストリームを返します。- 定義:
- インタフェース
RandomGenerator
内のdoubles
- パラメータ:
streamSize
- 生成する値の数randomNumberOrigin
- 各乱数値の起点(含む)randomNumberBound
- 各乱数値の境界(含まない)- 戻り値:
- それぞれ起点(含む)と限界(含まない)が指定された、擬似乱数
double
値のストリーム - 例外:
IllegalArgumentException
-streamSize
がゼロ未満またはrandomNumberOrigin
が有限でない場合、またはrandomNumberBound
が有限でない場合、またはrandomNumberOrigin
がrandomNumberBound
以上である場合- 導入されたバージョン:
- 1.8
-
doubles
public DoubleStream doubles(double randomNumberOrigin, double randomNumberBound) 指定された起点(含む)と境界(含まない)に準拠した擬似乱数double
値を含む、事実上無制限のストリームを返します。- 定義:
- インタフェース
RandomGenerator
内のdoubles
- 実装上のノート:
- このメソッドは、
doubles(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)
と同等であるように実装されます。 - パラメータ:
randomNumberOrigin
- 各乱数値の起点(含む)randomNumberBound
- 各乱数値の境界(含まない)- 戻り値:
- それぞれ起点(含む)と限界(含まない)が指定された、擬似乱数
double
値のストリーム - 例外:
IllegalArgumentException
-randomNumberOrigin
が有限でない場合、またはrandomNumberBound
が有限でない場合、またはrandomNumberOrigin
がrandomNumberBound
以上である場合- 導入されたバージョン:
- 1.8
-