public final class SplittableRandom extends Object
SplittableRandomは、int、longおよびdouble型の擬似乱数を生成するメソッドをサポートします。使用方法はクラスRandomと似ていますが、次の点で異なります。
split()メソッドは、可変状態を現在のインスタンスと共有しない新しいSplittableRandomインスタンスを構築して返します。 ただし、単一のSplittableRandomオブジェクトを使用して単一のスレッドで同量の値が生成された場合と同様に、これら2つのオブジェクトによって共同で生成された値は同じ統計特性を持つ可能性が非常に高くなります。 分岐/結合形式の計算には、new Subtask(aSplittableRandom.split()).fork()という形式の構築が含まれる場合があります。
stream.parallel()モードで使用される場合に、上記の手法を使用します。SplittableRandomのインスタンスにはセキュアな暗号化が施されていません。 セキュリティに依存するアプリケーションでは、かわりにSecureRandomの使用を検討してください。 また、システム・プロパティjava.util.secureRandomSeedをtrueに設定しないかぎり、デフォルトで構築されるインスタンスは暗号化処理に乱数シードを使用しません。
| コンストラクタ | 説明 |
|---|---|
SplittableRandom() |
現在のプログラムに含まれる他のインスタンスの値とは統計的に独立し、プログラムを起動するたびに異なる可能性がある(通常は異なる)値のシーケンスを生成する可能性が高い、新しいSplittableRandomインスタンスを作成します。
|
SplittableRandom(long seed) |
指定された初期シードを使用して新しいSplittableRandomインスタンスを作成します。
|
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
DoubleStream |
doubles() |
このジェネレータまたはそれから分割されたジェネレータあるいはその両方から、実質的に無制限に擬似乱数
double値を生成するストリームを返します。各値は、0 (これを含む)と1 (これを含まない)の間にあります。 |
DoubleStream |
doubles(double randomNumberOrigin, double randomNumberBound) |
このジェネレータまたはそれから分割されたジェネレータあるいはその両方から、実質的に無制限に擬似乱数
double値を生成するストリームを返します。各値は、指定された起点(これを含む)と限界(これを含まない)に従います。 |
DoubleStream |
doubles(long streamSize) |
このジェネレータまたはそれから分割されたジェネレータあるいはその両方から、
streamSizeで指定された数の擬似乱数double値を生成するストリームを返します。各値は、0 (これを含む)と1 (これを含まない)の間にあります。 |
DoubleStream |
doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) |
このジェネレータまたはそれから分割されたジェネレータあるいはその両方から、
streamSizeで指定された数の擬似乱数double値を生成するストリームを返します。各値は、指定された起点(これを含む)と限界(これを含まない)に従います。 |
IntStream |
ints() |
このジェネレータまたはそれから分割されたジェネレータあるいはその両方から、実質的に無制限に擬似乱数
int値を生成するストリームを返します。 |
IntStream |
ints(int randomNumberOrigin, int randomNumberBound) |
このジェネレータまたはそれから分割されたジェネレータあるいはその両方から、実質的に無制限に擬似乱数
int値を生成するストリームを返します。各値は、指定された起点(これを含む)と限界(これを含まない)に従います。 |
IntStream |
ints(long streamSize) |
このジェネレータまたはそれから分割されたジェネレータあるいはその両方から、
streamSizeで指定された数の擬似乱数int値を生成するストリームを返します。 |
IntStream |
ints(long streamSize, int randomNumberOrigin, int randomNumberBound) |
このジェネレータまたはそれから分割されたジェネレータあるいはその両方から、
streamSizeで指定された数の擬似乱数int値を生成するストリームを返します。各値は、指定された起点(これを含む)と限界(これを含まない)に従います。 |
LongStream |
longs() |
このジェネレータまたはそれから分割されたジェネレータあるいはその両方から、実質的に無制限に擬似乱数
long値を生成するストリームを返します。 |
LongStream |
longs(long streamSize) |
このジェネレータまたはそれから分割されたジェネレータあるいはその両方から、
streamSizeで指定された数の擬似乱数long値を生成するストリームを返します。 |
LongStream |
longs(long randomNumberOrigin, long randomNumberBound) |
このジェネレータまたはそれから分割されたジェネレータあるいはその両方から、実質的に無制限に擬似乱数
long値を生成するストリームを返します。各値は、指定された起点(これを含む)と限界(これを含まない)に従います。 |
LongStream |
longs(long streamSize, long randomNumberOrigin, long randomNumberBound) |
このジェネレータまたはそれから分割されたジェネレータあるいはその両方から、
streamSizeで指定された数の擬似乱数long値を生成するストリームを返します。各値は、指定された起点(これを含む)と限界(これを含まない)に従います。 |
boolean |
nextBoolean() |
擬似乱数の
boolean値を返します。 |
double |
nextDouble() |
0 (これを含む)から1 (これを含まない)までの、擬似乱数の
double値を返します。 |
double |
nextDouble(double bound) |
0.0 (これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数の
double値を返します。 |
double |
nextDouble(double origin, double bound) |
指定された起点(これを含む)から限界(これを含まない)までの範囲で、擬似乱数の
double値を返します。 |
int |
nextInt() |
擬似乱数の
int値を返します。 |
int |
nextInt(int bound) |
0 (これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数の
int値を返します。 |
int |
nextInt(int origin, int bound) |
指定された起点(これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数の
int値を返します。 |
long |
nextLong() |
擬似乱数の
long値を返します。 |
long |
nextLong(long bound) |
0 (これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数の
long値を返します。 |
long |
nextLong(long origin, long bound) |
指定された起点(これを含む)から指定された限界(これを含まない)までの範囲で、擬似乱数の
long値を返します。 |
SplittableRandom |
split() |
可変状態をこのインスタンスと共有しない新しいSplittableRandomインスタンスを構築して返します。
|
public SplittableRandom(long seed)
seed - 初期シードpublic SplittableRandom()
public SplittableRandom split()
split()メソッドを使用してさらに分割される場合もあります。そのような再帰的分割によって構築された一連のジェネレータすべてに、同じ統計特性が期待されます。 public int nextInt()
int値を返します。int値public int nextInt(int bound)
int値を返します。bound - 上限(含まない)。 正の値でなければならない int値IllegalArgumentException - boundが正でない場合public int nextInt(int origin,
int bound)
int値を返します。origin - 返される最小の値bound - 上限(含まない)int値IllegalArgumentException - originがboundより大きいか等しい場合public long nextLong()
long値を返します。long値public long nextLong(long bound)
long値を返します。bound - 上限(含まない)。 正の値でなければならない long値IllegalArgumentException - boundが正でない場合public long nextLong(long origin,
long bound)
long値を返します。origin - 返される最小の値bound - 上限(含まない)long値IllegalArgumentException - originがboundより大きいか等しい場合public double nextDouble()
double値を返します。double値public double nextDouble(double bound)
double値を返します。bound - 上限(含まない)。 正の値でなければならない double値IllegalArgumentException - boundが正でない場合public double nextDouble(double origin,
double bound)
double値を返します。origin - 返される最小の値bound - 上限(含まない)double値IllegalArgumentException - originがboundより大きいか等しい場合public boolean nextBoolean()
boolean値を返します。boolean値public IntStream ints(long streamSize)
streamSizeで指定された数の擬似乱数int値を生成するストリームを返します。streamSize - 生成する値の数int値のストリームIllegalArgumentException - streamSizeが0未満の場合public IntStream ints()
int値を生成するストリームを返します。ints(Long.MAX_VALUE)と同等であるように実装されます。int値のストリームpublic IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound)
streamSizeで指定された数の擬似乱数int値を生成するストリームを返します。各値は、指定された起点(これを含む)と限界(これを含まない)に従います。streamSize - 生成する値の数randomNumberOrigin - 各乱数値の起点(含む)randomNumberBound - 各乱数値の境界(含まない)int値のストリームIllegalArgumentException - streamSizeが0未満の場合、またはrandomNumberOriginがrandomNumberBound以上の場合public IntStream ints(int randomNumberOrigin, int randomNumberBound)
int値を生成するストリームを返します。各値は、指定された起点(これを含む)と限界(これを含まない)に従います。ints(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)と同等であるように実装されます。randomNumberOrigin - 各乱数値の起点(含む)randomNumberBound - 各乱数値の境界(含まない)int値のストリームIllegalArgumentException - randomNumberOriginがrandomNumberBound以上の場合public LongStream longs(long streamSize)
streamSizeで指定された数の擬似乱数long値を生成するストリームを返します。streamSize - 生成する値の数long値のストリームIllegalArgumentException - streamSizeが0未満の場合public LongStream longs()
long値を生成するストリームを返します。longs(Long.MAX_VALUE)と同等であるように実装されます。long値のストリームpublic LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound)
streamSizeで指定された数の擬似乱数long値を生成するストリームを返します。各値は、指定された起点(これを含む)と限界(これを含まない)に従います。streamSize - 生成する値の数randomNumberOrigin - 各乱数値の起点(含む)randomNumberBound - 各乱数値の境界(含まない)long値のストリームIllegalArgumentException - streamSizeが0未満の場合、またはrandomNumberOriginがrandomNumberBound以上の場合public LongStream longs(long randomNumberOrigin, long randomNumberBound)
long値を生成するストリームを返します。各値は、指定された起点(これを含む)と限界(これを含まない)に従います。longs(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)と同等であるように実装されます。randomNumberOrigin - 各乱数値の起点(含む)randomNumberBound - 各乱数値の境界(含まない)long値のストリームIllegalArgumentException - randomNumberOriginがrandomNumberBound以上の場合public DoubleStream doubles(long streamSize)
streamSizeで指定された数の擬似乱数double値を生成するストリームを返します。各値は、0 (これを含む)と1 (これを含まない)の間にあります。streamSize - 生成する値の数double値のストリームIllegalArgumentException - streamSizeが0未満の場合public DoubleStream doubles()
double値を生成するストリームを返します。各値は、0 (これを含む)と1 (これを含まない)の間にあります。doubles(Long.MAX_VALUE)と同等であるように実装されます。double値のストリームpublic DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)
streamSizeで指定された数の擬似乱数double値を生成するストリームを返します。各値は、指定された起点(これを含む)と限界(これを含まない)に従います。streamSize - 生成する値の数randomNumberOrigin - 各乱数値の起点(含む)randomNumberBound - 各乱数値の境界(含まない)double値のストリームIllegalArgumentException - streamSizeが0未満の場合IllegalArgumentException - randomNumberOriginがrandomNumberBound以上の場合public DoubleStream doubles(double randomNumberOrigin, double randomNumberBound)
double値を生成するストリームを返します。各値は、指定された起点(これを含む)と限界(これを含まない)に従います。doubles(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)と同等であるように実装されます。randomNumberOrigin - 各乱数値の起点(含む)randomNumberBound - 各乱数値の境界(含まない)double値のストリームIllegalArgumentException - randomNumberOriginがrandomNumberBound以上の場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。