Sprache

RandomGeneratorFactory Klasse

Definition

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.

[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
Vererbung
RandomGeneratorFactory
Attribute

Hinweise

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus. RandomGeneratorFactory stellt außerdem Methoden zum Auswählen von Algorithmen für den Zufallszahlengenerator bereit.

Eine bestimmte RandomGeneratorFactory Kann mithilfe der RandomGeneratorFactory#of(String) Methode gefunden werden, wobei die Argumentzeichenfolge der Name des erforderlichen Algorithmus ist. Die Methode RandomGeneratorFactory#all() erzeugt eine nicht leere Stream aller verfügbaren, RandomGeneratorFactory RandomGeneratorFactorys die durchsucht werden können, um einen RandomGeneratorFactory geeigneten Für die Aufgabe zu finden.

Es gibt drei Methoden zum Erstellen einer RandomGenerator-Instanz, je nachdem, welche Art von Ausgangssamen erforderlich ist. RandomGeneratorFactory#create(long) wird für den langen Saatgutbau verwendet, RandomGeneratorFactory#create(byte[]) wird für byte[] Saatgutkonstruktion verwendet und RandomGeneratorFactory#create() wird für die zufällige Saatgutkonstruktion verwendet. Beispiel;

{@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 stellt außerdem Methoden bereit, die die Attribute (oder Eigenschaften) eines Generators beschreiben und zum Auswählen von Algorithmen des Zufallszahlengenerators verwendet werden können. Diese Methoden werden in der Regel in Verbindung mit RandomGeneratorFactory#all(). In diesem Beispiel sucht der Code die RandomGeneratorFactory generierte RandomGenerator RandomGenerators Eigenschaft mit der höchsten Anzahl von Zustandsbits.

{@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());
            }

Hinzugefügt in 17.

Java Dokumentation für java.util.random.RandomGeneratorFactory.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Eigenschaften

Name Beschreibung
Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Default

Gibt eine RandomGeneratorFactory Besprechung der minimalen Anforderung für einen Algorithmus zurück, deren Statusbits größer oder gleich 64 sind.

Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
IsArbitrarilyJumpable

Gibt true zurück, wenn der Zufallsgenerator einen willkürlich angegebenen entfernten Punkt im Zustandszyklus springen kann.

IsDeprecated

Gibt "true" zurück, wenn die Implementierung von RandomGenerator (Algorithmus) zur Deaktivierung markiert wurde.

IsHardware

Gibt true zurück, wenn der Zufallsgenerator ein Hardwaregerät (HRNG) verwendet, um entropische Eingaben zu erzeugen.

IsJumpable

Gibt true zurück, wenn der Zufallsgenerator einen angegebenen entfernten Punkt im Zustandszyklus springen kann.

IsLeapable

Gibt true zurück, wenn der Zufallsgenerator sprungbar ist und zu einem sehr entfernten Punkt im Zustandszyklus springen kann.

IsSplittable

Gibt true zurück, wenn der Zufallsgenerator in ein separates Objekt mit denselben Eigenschaften geklont werden kann, aber weiter im Zustandszyklus positioniert wird.

IsStatistical

Gibt true zurück, wenn der Zufallsgenerator mit einem arithmetischen Algorithmus berechnet wird und statistisch deterministisch ist.

IsStochastic

Gibt true zurück, wenn der Zufallsgenerator mit externen oder entropischen Quellen als Eingaben berechnet wird.

IsStreamable

Gibt true zurück, wenn der Zufallsgenerator zum Erstellen java.util.stream.Stream Streams von Zufallszahlen verwendet werden kann.

JniIdentityHashCode

Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist.

(Geerbt von Object)
JniManagedPeerState

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.

(Geerbt von JavaObject)
JniPeerMembers

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.

PeerReference

Ruft den JNI-Objektverweis für diesen Java Peer ab.

(Geerbt von Object)
ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Object)
ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Object)

Methoden

Name Beschreibung
Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.

(Geerbt von JavaObject)
Create()

Erstellen Sie eine Instanz RandomGenerator basierend auf dem ausgewählten Algorithmus.

Create(Byte[])

Erstellen Sie eine Instanz RandomGenerator basierend auf dem Algorithmus, der ausgewählt wurde, um ein Startbyte[] Seed bereitzustellen.

Create(Int64)

Erstellen Sie eine Instanz RandomGenerator basierend auf dem algorithmus, der ausgewählt wurde, um einen anfangs langen Seed bereitzustellen.

Dispose()

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
Dispose(Boolean)

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
DisposeUnlessReferenced()

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.

(Geerbt von JavaObject)
Equals(Object)

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.

(Geerbt von JavaObject)
Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
Equidistribution()

Gibt die Äquidistribution des Algorithmus zurück.

GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
Group()

Gibt den Gruppennamen des Algorithmus zurück, der vom Zufallszahlengenerator verwendet wird.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
Name()

Gibt den Namen des Algorithmus zurück, der vom Zufallszahlengenerator verwendet wird.

Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
Of(String)

Gibt einen RandomGeneratorFactory Wert zurück, der Instanzen davon RandomGenerator erzeugen kann, die den nameAlgorithmus verwenden.

Period()

Gibt den Zeitraum des Algorithmus zurück, der vom Zufallszahlengenerator verwendet wird.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.

(Geerbt von JavaObject)
StateBits()

Gibt die Anzahl von Bits zurück, die vom Algorithmus verwendet werden, um den Status von Seed beizubehalten.

ToArray<T>()

Erstellt ein verwaltetes Array aus diesem Java Arraywrapper.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><>

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IJavaPeerable.Disposed()

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.

(Geerbt von JavaObject)
IJavaPeerable.Finalized()

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.

(Geerbt von JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.

(Geerbt von JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.

(Geerbt von JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.

(Geerbt von JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.

(Geerbt von JavaObject)

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Dies ist eine Factoryklasse zum Generieren mehrerer Zufallszahlengeneratoren eines bestimmten Algorithmus.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: