IRandomGenerator Antarmuka

Definisi

Antarmuka RandomGenerator ini dirancang untuk menyediakan protokol umum untuk objek yang menghasilkan urutan angka pseudorandom acak atau (lebih umum).

[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
Turunan
Atribut
Penerapan

Keterangan

Antarmuka RandomGenerator ini dirancang untuk menyediakan protokol umum untuk objek yang menghasilkan urutan angka pseudorandom acak atau (lebih umum). Urutan seperti itu dapat diperoleh dengan berulang kali memanggil metode yang mengembalikan nilai yang dipilih pseudorandomly tunggal, atau dengan memanggil metode yang mengembalikan aliran nilai yang dipilih pseudorandomly.

Idealnya, mengingat rentang nilai yang ditentukan secara implisit atau eksplisit, setiap nilai akan dipilih secara independen dan seragam dari rentang tersebut. Dalam praktiknya, seseorang mungkin harus menyelesaikan beberapa perkiraan untuk kemerdekaan dan keseragaman.

Dalam kasus int, long, dan boolean nilai, jika tidak ada spesifikasi rentang eksplisit, maka rentang mencakup semua nilai jenis yang mungkin. Dalam kasus float dan double nilai, pertama nilai selalu dipilih secara seragam dari set nilai 2<sup>w</sup> antara 0,0 (inklusif) dan 1,0 (eksklusif), di mana w untuk Float#PRECISIONfloat nilai dan Double#PRECISION untuk double nilai, sehingga nilai yang berdekatan berbeda dengan 2<sup>−w</sup> (perhatikan bahwa set ini adalah subset dari sekumpulan semua nilai floating-point yang dapat direpresentasikan antara 0,0 (inklusif) dan 1,0 (eksklusif)); kemudian jika rentang eksplisit ditentukan, maka angka yang dipilih diskalakan secara komputasi dan diterjemahkan sehingga tampaknya telah dipilih secara kira-kira seragam dari rentang eksplisit tersebut.

Setiap metode yang mengembalikan aliran menghasilkan aliran nilai yang masing-masing dipilih dengan cara yang sama seperti untuk metode yang mengembalikan satu nilai yang dipilih secara pseudorandomly. Misalnya, jika r mengimplementasikan RandomGenerator, maka panggilan r.ints(100) metode mengembalikan aliran 100 int nilai. Ini belum tentu nilai yang sama persis yang akan dikembalikan jika sebaliknya r.nextInt() telah dipanggil 100 kali; semua yang dijamin adalah bahwa setiap nilai dalam aliran dipilih dengan cara pseudorandom yang sama dari rentang yang sama.

Setiap objek yang mengimplementasikan antarmuka dengan menggunakan algoritma pseudorandom diasumsikan RandomGenerator berisi jumlah status yang terbatas. Menggunakan objek seperti itu untuk menghasilkan nilai yang dipilih secara pseudorandom mengubah statusnya dengan menghitung status baru sebagai fungsi status saat ini, tanpa merujuk ke informasi apa pun selain status saat ini. Jumlah kemungkinan status berbeda dari objek tersebut disebut periodenya. (Beberapa implementasi RandomGenerator antarmuka mungkin benar-benar acak daripada pseudorandom, misalnya mengandalkan perilaku statistik objek fisik untuk memperoleh nilai yang dipilih. Implementasi tersebut tidak memiliki periode tetap.)

Sebagai aturan, objek yang mengimplementasikan RandomGenerator antarmuka tidak perlu aman utas. Disarankan agar aplikasi multithread menggunakan ThreadLocalRandom generator nomor pseudorandom atau (sebaiknya) yang mengimplementasikan SplittableGenerator antarmuka atau JumpableGenerator .

Objek yang diterapkan RandomGenerator biasanya tidak aman secara kriptografis. Pertimbangkan untuk menggunakan SecureRandom untuk mendapatkan generator nomor pseudorandom yang aman secara kriptografis untuk digunakan oleh aplikasi yang sensitif terhadap keamanan. Perhatikan, bagaimanapun, itu SecureRandom mengimplementasikan RandomGenerator antarmuka, sehingga instans SecureRandom dapat digunakan secara bergantian dengan jenis generator pseudorandom lainnya dalam aplikasi yang tidak memerlukan generator yang aman.

Kecuali dinyatakan lain secara eksplisit, penggunaan null untuk argumen metode apa pun akan menyebabkan NullPointerException.

Ditambahkan dalam 17.

Java dokumentasi untuk java.util.random.RandomGenerator.

Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.

Properti

Nama Deskripsi
Default

Mengembalikan RandomGenerator persyaratan minimal rapat untuk memiliki algoritma yang bit statusnya lebih besar dari atau sama dengan 64.

Handle

Mendapatkan nilai JNI dari objek Android yang mendasar.

(Diperoleh dari IJavaObject)
IsDeprecated

Mengembalikan true jika implementasi RandomGenerator (algoritma) telah ditandai untuk penghentian.

JniIdentityHashCode

Mengembalikan nilai java.lang.System.identityHashCode() untuk instans yang dibungkus.

(Diperoleh dari IJavaPeerable)
JniManagedPeerState

Status serekan terkelola.

(Diperoleh dari IJavaPeerable)
JniObjectReferenceControlBlock

Antarmuka RandomGenerator ini dirancang untuk menyediakan protokol umum untuk objek yang menghasilkan urutan angka pseudorandom acak atau (lebih umum).

(Diperoleh dari IJavaPeerable)
JniPeerMembers

Akses anggota dan dukungan pemanggilan.

(Diperoleh dari IJavaPeerable)
PeerReference

Mengembalikan instans objek Java yang dibungkusJniObjectReference.

(Diperoleh dari IJavaPeerable)

Metode

Nama Deskripsi
Disposed()

Dipanggil ketika instans telah dibuang.

(Diperoleh dari IJavaPeerable)
DisposeUnlessReferenced()

Jika tidak ada referensi yang luar biasa untuk instans ini, maka panggilan Dispose(); jika tidak, tidak melakukan apa pun.

(Diperoleh dari IJavaPeerable)
Finalized()

Dipanggil ketika instans telah diselesaikan.

(Diperoleh dari IJavaPeerable)
NextBoolean()

Mengembalikan nilai yang dipilih boolean pseudorandomly.

NextBytes(Byte[])

Mengisi array byte yang disediakan pengguna dengan nilai byte yang dihasilkan pseudorandomly dipilih secara seragam dari rentang nilai antara -128 (inklusif) dan 127 (inklusif).

NextDouble()

Mengembalikan nilai pseudorandom double antara nol (inklusif) dan satu (eksklusif).

NextDouble(Double, Double)

Mengembalikan nilai yang dipilih double pseudorandomly antara asal yang ditentukan (inklusif) dan batas yang ditentukan (eksklusif).

NextDouble(Double)

Mengembalikan nilai yang dipilih double pseudorandomly antara nol (inklusif) dan batas yang ditentukan (eksklusif).

NextExponential()

Mengembalikan nilai nonnegative double pseudorandomly yang dipilih dari distribusi eksponensial yang rata-ratanya adalah 1.

NextFloat()

Mengembalikan nilai pseudorandom float antara nol (inklusif) dan satu (eksklusif).

NextFloat(Single, Single)

Mengembalikan nilai yang dipilih float pseudorandomly antara asal yang ditentukan (inklusif) dan batas yang ditentukan (eksklusif).

NextFloat(Single)

Mengembalikan nilai yang dipilih float pseudorandomly antara nol (inklusif) dan batas yang ditentukan (eksklusif).

NextGaussian()

Mengembalikan nilai yang double dipilih secara pseudorandom dari distribusi Gaussian (normal) yang rata-ratanya adalah 0 dan yang simpanpan bakunya adalah 1.

NextGaussian(Double, Double)

Mengembalikan nilai yang double dipilih secara pseudorandomly dari distribusi Gaussian (normal) dengan rata-rata dan simpangalan standar yang ditentukan oleh argumen.

NextInt()

Mengembalikan nilai yang dipilih int pseudorandomly.

NextInt(Int32, Int32)

Mengembalikan nilai yang dipilih int pseudorandomly antara asal yang ditentukan (inklusif) dan batas yang ditentukan (eksklusif).

NextInt(Int32)

Mengembalikan nilai yang dipilih int pseudorandomly antara nol (inklusif) dan batas yang ditentukan (eksklusif).

NextLong()

Mengembalikan nilai yang dipilih long pseudorandomly.

NextLong(Int64, Int64)

Mengembalikan nilai yang dipilih long pseudorandomly antara asal yang ditentukan (inklusif) dan batas yang ditentukan (eksklusif).

NextLong(Int64)

Mengembalikan nilai yang dipilih long pseudorandomly antara nol (inklusif) dan batas yang ditentukan (eksklusif).

Of(String)

Mengembalikan instans RandomGenerator yang menggunakan namealgoritma.

SetJniIdentityHashCode(Int32)

Atur nilai yang dikembalikan oleh JniIdentityHashCode.

(Diperoleh dari IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Antarmuka RandomGenerator ini dirancang untuk menyediakan protokol umum untuk objek yang menghasilkan urutan angka pseudorandom acak atau (lebih umum).

(Diperoleh dari IJavaPeerable)
SetPeerReference(JniObjectReference)

Atur nilai yang dikembalikan oleh PeerReference.

(Diperoleh dari IJavaPeerable)
UnregisterFromRuntime()

Batalkan pendaftaran instans ini sehingga runtime tidak akan mengembalikannya dari pemanggilan di masa mendatang Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Diperoleh dari IJavaPeerable)

Metode Ekstensi

Nama Deskripsi
GetJniTypeName(IJavaPeerable)

Mendapatkan nama JNI dari jenis instans self.

JavaAs<TResult>(IJavaPeerable)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Android.

JavaCast<TResult>(IJavaObject)

Antarmuka RandomGenerator ini dirancang untuk menyediakan protokol umum untuk objek yang menghasilkan urutan angka pseudorandom acak atau (lebih umum).

TryJavaCast<TResult>(IJavaPeerable, TResult)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

Berlaku untuk