- すべてのスーパー・インタフェース:
- RandomGenerator,- RandomGenerator.JumpableGenerator,- RandomGenerator.LeapableGenerator,- RandomGenerator.StreamableGenerator
- 含まれているインタフェース:
- RandomGenerator
 理想的には、1つの元のRandomGenerator.ArbitrarilyJumpableGeneratorオブジェクトからの反復ジャンプによって生成されたすべてのRandomGenerator.ArbitrarilyJumpableGeneratorオブジェクトは、統計的に相互に独立しており、個別に均一です(状態サイクルの重複する部分を走査しない場合)。 実際には、ある程度の近似で独立性と均一性を決める必要があります。 特に、特定の実装では、jump()メソッドによって生成されたストリーム内の各ジェネレータを使用して、指定したジャンプ距離を超える数値が生成されると想定できます。 実装者は、期間が2127以上のアルゴリズムを使用することをお薦めします。 
 
 多くのアプリケーションでは、2の2乗または2の少数の乗で飛び越えるのが適していますが、この2の累乗はlong値として表さない場合があります。 BigInteger値がジャンプ距離として使用されないように、かわりにdouble値が使用されます。 
 
 単一のジャンプ操作を実行し、内部状態の反復的なコピーとジャンプによってオリジナルから生成されるジェネレータのストリームを生成する方法も用意されています。 マルチスレッド・アプリケーションの一般的な方法は、単一のRandomGenerator.ArbitrarilyJumpableGeneratorオブジェクトを作成し、そのjump()メソッドを1回のみ呼び出してから、結果のストリームのジェネレータを1つずつ各スレッドに分離することです。 ただし、生成された各ジェネレータにはRandomGenerator.ArbitrarilyJumpableGeneratorタイプもあります。注意しながら、さまざまなジャンプ距離を使用して、さまざまな方法で状態サイクル全体を走査できます。 
 
 RandomGenerator.ArbitrarilyJumpableGeneratorを実装するオブジェクトは通常、暗号方式ではセキュアではありません。 かわりに、SecureRandomを使用して、セキュリティ依存アプリケーションで使用する暗号学的にセキュアな疑似乱数ジェネレータを取得することを検討してください。 
- 
ネストされたクラスのサマリーインタフェースjava.util.random.RandomGeneratorで宣言されたネストされたクラス/インタフェースRandomGenerator.ArbitrarilyJumpableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.LeapableGenerator, RandomGenerator.SplittableGenerator, RandomGenerator.StreamableGenerator
- 
メソッドのサマリー修飾子と型メソッド説明copy()内部状態がこのジェネレータ (したがって、同じ一連の操作の対象となる場合は、将来の動作は同じである必要があります)の正確なコピーである新しいジェネレータを返します。copyAndJump(double distance) このジェネレータをコピーし、このジェネレータを前方にジャンプしてから、コピーを返します。default voidjump()この擬似乱数ジェネレータの状態を変更して、その状態サイクル内の大きな固定距離(通常は264以上)を前方にジャンプします。voidjump(double distance) この擬似乱数ジェネレータの状態を変更して、その状態サイクル内の指定された距離を前方にジャンプします。voidjumpPowerOfTwo(int logDistance) この擬似乱数ジェネレータの状態を変更して、状態サイクル内の2logDistanceと同じ距離を前方にジャンプします。jumps(double distance) 新しい擬似乱数ジェネレータの実質的に無制限のストリームを返します。それぞれは、RandomGenerator.ArbitrarilyJumpableGeneratorインタフェースを実装しており、指定されたジャンプ距離の異なる整数倍数でこのジェネレータのコピーをジャンプすることで生成されます。jumps(long streamSize, double distance) 指定されたstreamSize数の新しい擬似乱数ジェネレータを生成するストリームを返します。それぞれがRandomGenerator.ArbitrarilyJumpableGeneratorインタフェースを実装しており、指定されたジャンプ距離の異なる整数倍数でこのジェネレータのコピーをジャンプすることで生成されます。default voidleap()この擬似乱数ジェネレータの状態を変更して、状態サイクル内の非常に大きな固定距離の(通常は2128以上)を飛び越えます。namealgorithmを利用するRandomGenerator.ArbitrarilyJumpableGeneratorのインスタンスを返します。インタフェースjava.util.random.RandomGeneratorで宣言されたメソッドdoubles, doubles, doubles, doubles, ints, ints, ints, ints, isDeprecated, longs, longs, longs, longs, nextBoolean, nextBytes, nextDouble, nextDouble, nextDouble, nextExponential, nextFloat, nextFloat, nextFloat, nextGaussian, nextGaussian, nextInt, nextInt, nextInt, nextLong, nextLong, nextLongインタフェースjava.util.random.RandomGenerator.JumpableGeneratorで宣言されたメソッドcopyAndJump, jumpDistance, jumps, jumps, rngs, rngsインタフェースjava.util.random.RandomGenerator.LeapableGeneratorで宣言されたメソッドcopyAndLeap, leapDistance, leaps, leaps
- 
メソッドの詳細- 
ofstatic RandomGenerator.ArbitrarilyJumpableGenerator of(String name) namealgorithmを利用するRandomGenerator.ArbitrarilyJumpableGeneratorのインスタンスを返します。- パラメータ:
- name- 乱数ジェネレータの名前algorithm
- 戻り値:
- RandomGenerator.ArbitrarilyJumpableGeneratorのインスタンス
- throws:
- NullPointerException- nameがnullである場合
- IllegalArgumentException- 指定されたアルゴリズムが見つからない場合
 
- 
copy内部状態がこのジェネレータ (したがって、同じ一連の操作の対象となる場合は、将来の動作は同じである必要があります)の正確なコピーである新しいジェネレータを返します。- 定義:
- インタフェースRandomGenerator.JumpableGenerator内のcopy
- 定義:
- インタフェースRandomGenerator.LeapableGenerator内のcopy
- 戻り値:
- このジェネレータのコピーである新規オブジェクト
 
- 
jumpPowerOfTwovoid jumpPowerOfTwo(int logDistance) この擬似乱数ジェネレータの状態を変更して、状態サイクル内の2logDistanceと同じ距離を前方にジャンプします。- パラメータ:
- logDistance- 状態サイクル内でジャンプする距離のbase-2対数
- throws:
- IllegalArgumentException-- logDistanceが2- logDistanceがこのジェネレータの期間より大きい場合
 
- 
jumpvoid jump(double distance) この擬似乱数ジェネレータの状態を変更して、その状態サイクル内の指定された距離を前方にジャンプします。- パラメータ:
- distance- 状態サイクル内でジャンプする距離
- throws:
- IllegalArgumentException-- distanceが0.0以下の場合、またはこのジェネレータの期間より大きい場合
 
- 
jumpdefault void jump()この擬似乱数ジェネレータの状態を変更して、その状態サイクル内の大きな固定距離(通常は264以上)を前方にジャンプします。 使用距離は、メソッドjumpDistance()によって返される距離です。- 定義:
- インタフェースRandomGenerator.JumpableGenerator内のjump
- 実装要件:
- デフォルトの実装では、jump(jumpDistance()が起動します。
 
- 
jumpsdefault Stream<RandomGenerator.ArbitrarilyJumpableGenerator> jumps(double distance) 新しい擬似乱数ジェネレータの実質的に無制限のストリームを返します。それぞれは、RandomGenerator.ArbitrarilyJumpableGeneratorインタフェースを実装しており、指定されたジャンプ距離の異なる整数倍数でこのジェネレータのコピーをジャンプすることで生成されます。- 実装要件:
- デフォルトの実装は、jumps(Long.MAX_VALUE)と同等です。
- パラメータ:
- distance- 状態サイクル内でジャンプする距離
- 戻り値:
- RandomGeneratorインタフェースを実装するオブジェクトのストリーム
- throws:
- IllegalArgumentException-- distanceが0.0以下の場合、またはこのジェネレータの期間より大きい場合
 
- 
jumpsdefault Stream<RandomGenerator.ArbitrarilyJumpableGenerator> jumps(long streamSize, double distance) 指定されたstreamSize数の新しい擬似乱数ジェネレータを生成するストリームを返します。それぞれがRandomGenerator.ArbitrarilyJumpableGeneratorインタフェースを実装しており、指定されたジャンプ距離の異なる整数倍数でこのジェネレータのコピーをジャンプすることで生成されます。- 実装要件:
- デフォルトの実装は、jumps(distance).limit(streamSize)と同等です。
- パラメータ:
- streamSize- 生成するジェネレータの数
- distance- 状態サイクル内でジャンプする距離
- 戻り値:
- RandomGeneratorインタフェースを実装するオブジェクトのストリーム
- throws:
- IllegalArgumentException-- streamSizeが0未満の場合、または- distanceが0.0以下の場合、またはこのジェネレータの期間より大きい場合
 
- 
leapdefault void leap()この擬似乱数ジェネレータの状態を変更して、状態サイクル内の非常に大きな固定距離の(通常は2128以上)を飛び越えます。 使用距離は、メソッドleapDistance()によって返される距離です。- 定義:
- インタフェースRandomGenerator.LeapableGenerator内のleap
 
- 
copyAndJumpdefault RandomGenerator.ArbitrarilyJumpableGenerator copyAndJump(double distance) このジェネレータをコピーし、このジェネレータを前方にジャンプしてから、コピーを返します。- 実装要件:
- デフォルトの実装では、これをjumps(distance)にコピーしてから、コピーを返します。
- パラメータ:
- distance- 状態サイクル内でジャンプする距離
- 戻り値:
- ジャンプが発生した前のこのジェネレータ・オブジェクトのコピー
- throws:
- IllegalArgumentException-- distanceが0.0以下の場合、またはこのジェネレータの期間より大きい場合
 
 
-