java.lang.Object
java.util.Random
java.util.concurrent.ThreadLocalRandom
- すべての実装されたインタフェース:
- Serializable
public class ThreadLocalRandom extends Random
現在のスレッドから独立した隔離された乱数ジェネレータ。 
Mathクラスによって使用されるグローバルなRandomジェネレータと同様に、ThreadLocalRandomは、それ以外では変更できない内部的に生成されたシードで初期化されます。 該当する場合、並行プログラム内の共有されたRandomオブジェクトではなくThreadLocalRandomを使用すれば、通常、発生するオーバーヘッドや競合がはるかに少なくなります。 ThreadLocalRandomの使用は、複数のタスク(たとえば、各ForkJoinTask)がスレッド・プール内で並列に乱数を使用している場合に特に適しています。 
 このクラスの使用法は通常、ThreadLocalRandom.current().nextX(...) (ここで、XはIntやLongなど)の形式にするようにしてください。 すべての使用方法がこの形式である場合、誤って複数のスレッドでThreadLocalRandomを共有することはできません。 
 
このクラスはまた、追加の一般的に使用される制約付きランダム生成メソッドも提供します。
ThreadLocalRandomのインスタンスにはセキュアな暗号化が施されていません。 セキュリティに依存するアプリケーションでは、かわりにSecureRandomの使用を検討してください。 また、システム・プロパティjava.util.secureRandomSeedをtrueに設定しないかぎり、デフォルトで構築されるインスタンスは暗号化処理に乱数シードを使用しません。 
- 導入されたバージョン:
- 1.7
- 関連項目:
- 直列化された形式
- 
メソッドのサマリー修飾子と型メソッド説明static ThreadLocalRandomcurrent()現在のスレッドのThreadLocalRandomを返します。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数だけ生成するストリームを返します。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 intnext(int bits)示された下位ビット数の擬似乱数を生成します。boolean擬似乱数のboolean値を返します。double0 (これを含む)から1 (これを含まない)までの、擬似乱数のdouble値を返します。doublenextDouble(double bound)0.0 (これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数のdouble値を返します。doublenextDouble(double origin, double bound)指定された起点(これを含む)から限界(これを含まない)までの範囲で、擬似乱数のdouble値を返します。float0(これを含む)から1(これを含まない)までの範囲で、擬似乱数のfloat値を返します。intnextInt()擬似乱数のint値を返します。intnextInt(int bound)0 (これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数のint値を返します。intnextInt(int origin, int bound)指定された起点(これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数のint値を返します。longnextLong()擬似乱数のlong値を返します。longnextLong(long bound)0 (これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数のlong値を返します。longnextLong(long origin, long bound)指定された起点(これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数のlong値を返します。voidsetSeed(long seed)UnsupportedOperationExceptionをスローします。クラス java.util.Randomで宣言されたメソッドnextBytes, nextGaussian
- 
メソッドの詳細- 
currentpublic static ThreadLocalRandom current()現在のスレッドのThreadLocalRandomを返します。- 戻り値:
- 現在のスレッドのThreadLocalRandom
 
- 
setSeedpublic void setSeed(long seed)UnsupportedOperationExceptionをスローします。 このジェネレータでのシードの設定はサポートされていません。- オーバーライド:
- setSeed、クラス:- Random
- パラメータ:
- seed- 初期シード
- 例外:
- UnsupportedOperationException- 常時
 
- 
nextprotected int next(int bits)示された下位ビット数の擬似乱数を生成します。 このクラスはサブクラスを持たないため、このメソッドは呼び出すことも、上書きすることもできません。
- 
nextIntpublic int nextInt()擬似乱数のint値を返します。
- 
nextIntpublic int nextInt(int bound)0 (これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数のint値を返します。- オーバーライド:
- nextInt、クラス:- Random
- パラメータ:
- bound- 上限(含まない)。 正の値でなければならない
- 戻り値:
- 0 (これを含む)から限界(これを含まない)までの、擬似乱数のint値
- 例外:
- IllegalArgumentException-- boundが正でない場合
 
- 
nextIntpublic int nextInt(int origin, int bound)指定された起点(これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数のint値を返します。- パラメータ:
- origin- 返される最小の値
- bound- 上限(含まない)
- 戻り値:
- 起点(これを含む)から限界(これを含まない)までの、擬似乱数のint値
- 例外:
- IllegalArgumentException-- originが- boundより大きいか等しい場合
 
- 
nextLongpublic long nextLong()擬似乱数のlong値を返します。
- 
nextLongpublic long nextLong(long bound)0 (これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数のlong値を返します。- パラメータ:
- bound- 上限(含まない)。 正の値でなければならない
- 戻り値:
- 0 (これを含む)から限界(これを含まない)までの、擬似乱数のlong値
- 例外:
- IllegalArgumentException-- boundが正でない場合
 
- 
nextLongpublic long nextLong(long origin, long bound)指定された起点(これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数のlong値を返します。- パラメータ:
- origin- 返される最小の値
- bound- 上限(含まない)
- 戻り値:
- 起点(これを含む)から限界(これを含まない)までの、擬似乱数のlong値
- 例外:
- IllegalArgumentException-- originが- boundより大きいか等しい場合
 
- 
nextDoublepublic double nextDouble()0 (これを含む)から1 (これを含まない)までの、擬似乱数のdouble値を返します。- オーバーライド:
- nextDouble、クラス:- Random
- 戻り値:
- 0 (これを含む)から1 (これを含まない)までの、擬似乱数のdouble値
- 関連項目:
- Math.random()
 
- 
nextDoublepublic double nextDouble(double bound)0.0 (これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数のdouble値を返します。- パラメータ:
- bound- 上限(含まない)。 正の値でなければならない
- 戻り値:
- 0 (これを含む)から限界(これを含まない)までの、擬似乱数のdouble値
- 例外:
- IllegalArgumentException-- boundが正でない場合
 
- 
nextDoublepublic double nextDouble(double origin, double bound)指定された起点(これを含む)から限界(これを含まない)までの範囲で、擬似乱数のdouble値を返します。- パラメータ:
- origin- 返される最小の値
- bound- 上限(含まない)
- 戻り値:
- 起点(これを含む)から限界(これを含まない)までの、擬似乱数のdouble値
- 例外:
- IllegalArgumentException-- originが- boundより大きいか等しい場合
 
- 
nextBooleanpublic boolean nextBoolean()擬似乱数のboolean値を返します。- オーバーライド:
- nextBoolean、クラス:- Random
- 戻り値:
- 擬似乱数のboolean値
 
- 
nextFloatpublic float nextFloat()0(これを含む)から1(これを含まない)までの範囲で、擬似乱数のfloat値を返します。
- 
intspublic IntStream ints(long streamSize)擬似乱数int値を、指定されたstreamSize数だけ生成するストリームを返します。- オーバーライド:
- ints、クラス:- Random
- パラメータ:
- streamSize- 生成する値の数
- 戻り値:
- 擬似乱数int値のストリーム
- 例外:
- IllegalArgumentException-- streamSizeが0未満の場合
- 導入されたバージョン:
- 1.8
 
- 
intspublic IntStream ints()擬似乱数int値を含む、事実上無制限のストリームを返します。
- 
intspublic IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound)指定された起点(含む)と境界(含まない)に準拠した擬似乱数int値を、指定されたstreamSize数だけ生成するストリームを返します。- オーバーライド:
- ints、クラス:- Random
- パラメータ:
- streamSize- 生成する値の数
- randomNumberOrigin- 各乱数値の起点(含む)
- randomNumberBound- 各乱数値の境界(含まない)
- 戻り値:
- それぞれ起点(含む)と境界(含まない)が指定された、擬似乱数int値のストリーム
- 例外:
- IllegalArgumentException-- streamSizeが0未満の場合、または- randomNumberOriginが- randomNumberBound以上の場合
- 導入されたバージョン:
- 1.8
 
- 
intspublic IntStream ints(int randomNumberOrigin, int randomNumberBound)指定された起点(含む)と境界(含まない)に準拠した擬似乱数int値を含む、事実上無制限のストリームを返します。- オーバーライド:
- ints、クラス:- Random
- 実装上のノート:
- このメソッドは、ints(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)と同等であるように実装されます。
- パラメータ:
- randomNumberOrigin- 各乱数値の起点(含む)
- randomNumberBound- 各乱数値の境界(含まない)
- 戻り値:
- それぞれ起点(含む)と境界(含まない)が指定された、擬似乱数int値のストリーム
- 例外:
- IllegalArgumentException-- randomNumberOriginが- randomNumberBound以上の場合
- 導入されたバージョン:
- 1.8
 
- 
longspublic LongStream longs(long streamSize)擬似乱数long値を、指定されたstreamSize数だけ生成するストリームを返します。- オーバーライド:
- longs、クラス:- Random
- パラメータ:
- streamSize- 生成する値の数
- 戻り値:
- 擬似乱数long値のストリーム
- 例外:
- IllegalArgumentException-- streamSizeが0未満の場合
- 導入されたバージョン:
- 1.8
 
- 
longspublic LongStream longs()擬似乱数long値を含む、事実上無制限のストリームを返します。
- 
longspublic LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound)指定された起点(含む)と境界(含まない)に準拠した擬似乱数longを、指定されたstreamSize数だけ生成するストリームを返します。- オーバーライド:
- longs、クラス:- Random
- パラメータ:
- streamSize- 生成する値の数
- randomNumberOrigin- 各乱数値の起点(含む)
- randomNumberBound- 各乱数値の境界(含まない)
- 戻り値:
- それぞれ起点(含む)と境界(含まない)が指定された、擬似乱数long値のストリーム
- 例外:
- IllegalArgumentException-- streamSizeが0未満の場合、または- randomNumberOriginが- randomNumberBound以上の場合
- 導入されたバージョン:
- 1.8
 
- 
longspublic LongStream longs(long randomNumberOrigin, long randomNumberBound)指定された起点(含む)と境界(含まない)に準拠した擬似乱数long値を含む、事実上無制限のストリームを返します。- オーバーライド:
- longs、クラス:- Random
- 実装上のノート:
- このメソッドは、longs(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)と同等であるように実装されます。
- パラメータ:
- randomNumberOrigin- 各乱数値の起点(含む)
- randomNumberBound- 各乱数値の境界(含まない)
- 戻り値:
- それぞれ起点(含む)と境界(含まない)が指定された、擬似乱数long値のストリーム
- 例外:
- IllegalArgumentException-- randomNumberOriginが- randomNumberBound以上の場合
- 導入されたバージョン:
- 1.8
 
- 
doublespublic DoubleStream doubles(long streamSize)0(含む)から1(含まない)までの擬似乱数double値を、指定されたstreamSize数だけ生成するストリームを返します。- オーバーライド:
- doubles、クラス:- Random
- パラメータ:
- streamSize- 生成する値の数
- 戻り値:
- double値のストリーム
- 例外:
- IllegalArgumentException-- streamSizeが0未満の場合
- 導入されたバージョン:
- 1.8
 
- 
doublespublic DoubleStream doubles()0(含む)から1(含まない)までの擬似乱数double値を含む、事実上無制限のストリームを返します。
- 
doublespublic DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)指定された起点(含む)と境界(含まない)に準拠した擬似乱数double値を、指定されたstreamSize数だけ生成するストリームを返します。- オーバーライド:
- doubles、クラス:- Random
- パラメータ:
- streamSize- 生成する値の数
- randomNumberOrigin- 各乱数値の起点(含む)
- randomNumberBound- 各乱数値の境界(含まない)
- 戻り値:
- それぞれ起点(含む)と限界(含まない)が指定された、擬似乱数double値のストリーム
- 例外:
- IllegalArgumentException-- streamSizeが0未満の場合、または- randomNumberOriginが- randomNumberBound以上の場合
- 導入されたバージョン:
- 1.8
 
- 
doublespublic DoubleStream doubles(double randomNumberOrigin, double randomNumberBound)指定された起点(含む)と境界(含まない)に準拠した擬似乱数double値を含む、事実上無制限のストリームを返します。- オーバーライド:
- doubles、クラス:- Random
- 実装上のノート:
- このメソッドは、doubles(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)と同等であるように実装されます。
- パラメータ:
- randomNumberOrigin- 各乱数値の起点(含む)
- randomNumberBound- 各乱数値の境界(含まない)
- 戻り値:
- それぞれ起点(含む)と限界(含まない)が指定された、擬似乱数double値のストリーム
- 例外:
- IllegalArgumentException-- randomNumberOriginが- randomNumberBound以上の場合
- 導入されたバージョン:
- 1.8
 
 
-