言語

RandomGeneratorFactory クラス

定義

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。

[Android.Runtime.Register("java/util/random/RandomGeneratorFactory", ApiSince=35, DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T extends java.util.random.RandomGenerator" })]
public sealed class RandomGeneratorFactory : Java.Lang.Object
[<Android.Runtime.Register("java/util/random/RandomGeneratorFactory", ApiSince=35, DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T extends java.util.random.RandomGenerator" })>]
type RandomGeneratorFactory = class
    inherit Object
継承
RandomGeneratorFactory
属性

注釈

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。 RandomGeneratorFactory には、乱数ジェネレーター アルゴリズムを選択するためのメソッドも用意されています。

特定の RandomGeneratorFactory は、 RandomGeneratorFactory#of(String) メソッドを使用して配置できます。引数文字列は、必要なアルゴリズムの名前です。 このメソッドRandomGeneratorFactory#all()は、タスクに適したStreamを検索するために検索できる、使用可能なすべてのRandomGeneratorFactory RandomGeneratorFactorysの空でないRandomGeneratorFactoryを生成します。

必要な初期シードの種類に応じて、RandomGenerator インスタンスを構築する方法は 3 つあります。 RandomGeneratorFactory#create(long) は長いシード構築に使用され、 RandomGeneratorFactory#create(byte[]) は byte[] シード構築に使用され、 RandomGeneratorFactory#create() はランダム シード構築に使用されます。 例;

{@code
               RandomGeneratorFactory<RandomGenerator> factory = RandomGeneratorFactory.of("Random");

                for (int i = 0; i < 10; i++) {
                    new Thread(() -> {
                        RandomGenerator random = factory.create(100L);
                        System.out.println(random.nextDouble());
                    }).start();
                }
            }

RandomGeneratorFactory には、ジェネレーターの属性 (またはプロパティ) を記述するメソッドも用意されており、乱数ジェネレーター アルゴリズムを選択するために使用できます。 これらのメソッドは、通常、 RandomGeneratorFactory#all()と組み合わせて使用されます。 この例では、状態ビット数が最も多いRandomGeneratorFactoryを生成するRandomGenerator RandomGeneratorsを見つけます。

{@code
                RandomGeneratorFactory<RandomGenerator> best = RandomGeneratorFactory.all()
                    .sorted(Comparator.comparingInt(RandomGenerator::stateBits).reversed())
                    .findFirst()
                    .orElse(RandomGeneratorFactory.of("Random"));
                System.out.println(best.name() + " in " + best.group() + " was selected");

                RandomGenerator rng = best.create();
                System.out.println(rng.nextLong());
            }

17 で追加されました。

Javaドキュメント。

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

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Default

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

Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsArbitrarilyJumpable

ランダム ジェネレーターが状態サイクルで任意に指定された離れたポイントをジャンプできる場合は true を返します。

IsDeprecated

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

IsHardware

ランダム ジェネレーターがハードウェア デバイス (HRNG) を使用してエントロピック入力を生成する場合は true を返します。

IsJumpable

ランダム ジェネレーターが状態サイクルで指定された離れたポイントをジャンプできる場合は true を返します。

IsLeapable

ランダム ジェネレーターがジャンプ可能で、状態サイクルの非常に遠いポイントにジャンプできる場合は true を返します。

IsSplittable

ランダム ジェネレーターを同じプロパティを持つ別のオブジェクトに複製でき、さらに状態サイクル内に配置できる場合は true を返します。

IsStatistical

ランダム ジェネレーターが算術アルゴリズムを使用して計算され、統計的に決定論的である場合は true を返します。

IsStochastic

外部ソースまたはエントロピック ソースを入力として使用してランダム ジェネレーターを計算する場合は true を返します。

IsStreamable

乱数ジェネレーターを使用して乱数の java.util.stream.Stream Streams を作成できる場合は true を返します。

JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。

(継承元 JavaObject)
JniPeerMembers

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Object)
ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Object)

メソッド

名前 説明
Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。

(継承元 JavaObject)
Create()

選択したアルゴリズムに基づいて、 RandomGenerator のインスタンスを作成します。

Create(Byte[])

開始 byte[] シードを指定して選択したアルゴリズムに基づいて、 RandomGenerator のインスタンスを作成します。

Create(Int64)

開始時間の長いシードを提供することを選択したアルゴリズムに基づいて、 RandomGenerator のインスタンスを作成します。

Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。

(継承元 JavaObject)
Equals(Object)

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
Equidistribution()

アルゴリズムの等価分散を返します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
Group()

乱数ジェネレーターによって使用されるアルゴリズムのグループ名を返します。

JavaFinalize()
古い.

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Name()

乱数ジェネレーターで使用されるアルゴリズムの名前を返します。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
Of(String)

RandomGeneratorFactoryalgorithm を利用するRandomGeneratorのインスタンスを生成できるnameを返します。

Period()

乱数ジェネレーターによって使用されるアルゴリズムの期間を返します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。

(継承元 JavaObject)
StateBits()

シードの状態を維持するためにアルゴリズムによって使用されるビット数を返します。

ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列表現を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。

(継承元 JavaObject)
IJavaPeerable.Finalized()

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。

(継承元 JavaObject)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

これは、特定のアルゴリズムの複数の乱数ジェネレーターを生成するためのファクトリ クラスです。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用対象