言語

IRandomGenerator インターフェイス

定義

RandomGenerator インターフェイスは、ランダムまたは (より一般的には) 数値 (またはブール値) の擬似乱数シーケンスを生成するオブジェクトに共通のプロトコルを提供するように設計されています。

[Android.Runtime.Register("java/util/random/RandomGenerator", "", "Java.Util.RandomGenerators.IRandomGeneratorInvoker", ApiSince=35)]
public interface IRandomGenerator : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/util/random/RandomGenerator", "", "Java.Util.RandomGenerators.IRandomGeneratorInvoker", ApiSince=35)>]
type IRandomGenerator = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
派生
属性
実装

注釈

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

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

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

ストリームを返す各メソッドは、1 つの擬似ランダムに選択された値を返すメソッドの場合と同じ方法で選択される値のストリームを生成します。 たとえば、 rRandomGeneratorを実装する場合、メソッド呼び出し r.ints(100) は 100 int 値のストリームを返します。 これらは必ずしも、 r.nextInt() が 100 回呼び出された場合に返されるのとまったく同じ値であるとは限りません。保証されるのは、ストリーム内の各値が同じ範囲から同様の擬似ランダムな方法で選択されるということです。

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

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

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

明示的に明記されていない限り、メソッド引数に null を使用すると NullPointerException が発生します。

17 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

プロパティ

名前 説明
Default

状態ビットが 64 以上のアルゴリズムを使用する最小要件を満たす RandomGenerator を返します。

Handle

基になる Android オブジェクトの JNI 値を取得します。

(継承元 IJavaObject)
IsDeprecated

RandomGenerator (アルゴリズム) の実装が非推奨としてマークされている場合は true を返します。

JniIdentityHashCode

ラップされたインスタンスの java.lang.System.identityHashCode() の値を返します。

(継承元 IJavaPeerable)
JniManagedPeerState

マネージド ピアの状態。

(継承元 IJavaPeerable)
JniObjectReferenceControlBlock

RandomGenerator インターフェイスは、ランダムまたは (より一般的には) 数値 (またはブール値) の擬似乱数シーケンスを生成するオブジェクトに共通のプロトコルを提供するように設計されています。

(継承元 IJavaPeerable)
JniPeerMembers

メンバー アクセスと呼び出しのサポート。

(継承元 IJavaPeerable)
PeerReference

ラップされたJava オブジェクト インスタンスのJniObjectReferenceを返します。

(継承元 IJavaPeerable)

メソッド

名前 説明
Disposed()

インスタンスが破棄されたときに呼び出されます。

(継承元 IJavaPeerable)
DisposeUnlessReferenced()

このインスタンスへの未処理の参照がない場合は、 Dispose()を呼び出します。それ以外の場合は何も実行しません。

(継承元 IJavaPeerable)
Finalized()

インスタンスが終了したときに呼び出されます。

(継承元 IJavaPeerable)
NextBoolean()

擬似ランダムに選択された boolean 値を返します。

NextBytes(Byte[])

ユーザー指定のバイト配列に、生成されたバイト値を、-128 (包括) から 127 (両端を含む) までの範囲から一様に選択された擬似的に選択されたバイト値で埋めます。

NextDouble()

0 (包括) から 1 (排他的) までの擬似乱数 double 値を返します。

NextDouble(Double, Double)

指定した原点 (包括) と指定されたバインド (排他) の間で、擬似的に選択された double 値を返します。

NextDouble(Double)

0 (包括) から指定されたバインド (排他) までの間で、擬似的に選択された double 値を返します。

NextExponential()

平均が 1 の指数分布から擬似的に選択された負でない double 値を返します。

NextFloat()

0 (包括) から 1 (排他的) までの擬似乱数 float 値を返します。

NextFloat(Single, Single)

指定した原点 (包括) と指定されたバインド (排他) の間で、擬似的に選択された float 値を返します。

NextFloat(Single)

0 (包括) から指定されたバインド (排他) までの間で、擬似的に選択された float 値を返します。

NextGaussian()

平均が 0 で標準偏差が 1 のガウス (正規) 分布から擬似ランダムに選択された double 値を返します。

NextGaussian(Double, Double)

引数で指定された平均と標準偏差を持つガウス分布 (正規) 分布から擬似的に選択された double 値を返します。

NextInt()

擬似ランダムに選択された int 値を返します。

NextInt(Int32, Int32)

指定した原点 (包括) と指定されたバインド (排他) の間で、擬似的に選択された int 値を返します。

NextInt(Int32)

0 (包括) から指定されたバインド (排他) までの間で、擬似的に選択された int 値を返します。

NextLong()

擬似ランダムに選択された long 値を返します。

NextLong(Int64, Int64)

指定した原点 (包括) と指定されたバインド (排他) の間で、擬似的に選択された long 値を返します。

NextLong(Int64)

0 (包括) から指定されたバインド (排他) までの間で、擬似的に選択された long 値を返します。

Of(String)

RandomGeneratoralgorithm を利用するnameのインスタンスを返します。

SetJniIdentityHashCode(Int32)

JniIdentityHashCodeによって返される値を設定します。

(継承元 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

RandomGenerator インターフェイスは、ランダムまたは (より一般的には) 数値 (またはブール値) の擬似乱数シーケンスを生成するオブジェクトに共通のプロトコルを提供するように設計されています。

(継承元 IJavaPeerable)
SetPeerReference(JniObjectReference)

PeerReferenceによって返される値を設定します。

(継承元 IJavaPeerable)
UnregisterFromRuntime()

ランタイムが将来の Java.Interop.JniRuntime+JniValueManager.PeekValue 呼び出しから返されないように、このインスタンスの登録を解除します。

(継承元 IJavaPeerable)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

RandomGenerator インターフェイスは、ランダムまたは (より一般的には) 数値 (またはブール値) の擬似乱数シーケンスを生成するオブジェクトに共通のプロトコルを提供するように設計されています。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象