Язык

Random Класс

Определение

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

[Android.Runtime.Register("java/util/Random", DoNotGenerateAcw=true)]
public class Random : Java.Lang.Object, IDisposable, Java.IO.ISerializable, Java.Util.RandomGenerators.IRandomGenerator
[<Android.Runtime.Register("java/util/Random", DoNotGenerateAcw=true)>]
type Random = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IRandomGenerator
Наследование
Производный
Атрибуты
Реализации

Комментарии

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>. Класс использует 48-разрядное начальное значение, которое изменяется с помощью линейной конгруентной формулы. (См. Дональд Э. Knuth, <процитируйте искусство компьютерного программирования, том 2, третий выпуск: Полунумерические алгоритмы>/cite<>, раздел 3.2.1.1.)

Если для каждого из двух экземпляров Random создаются одинаковые начальные значения, а для каждого из них выполняется одна и та же последовательность вызовов методов, они будут создавать и возвращать идентичные последовательности чисел. Чтобы гарантировать это свойство, для класса Randomуказываются определенные алгоритмы. Java реализации должны использовать все алгоритмы, показанные здесь для классаRandom, ради абсолютной переносимости кода Java. Однако подклассы класса Random могут использовать другие алгоритмы, если они соответствуют общим контрактам для всех методов.

Алгоритмы, реализованные по классу Random , используют служебный protected метод, который при каждом вызове может предоставлять до 32 псевдоранрандомных битов.

Многие приложения будут находить метод Math#random проще для использования.

Экземпляры java.util.Random являются threadsafe. Однако параллельное использование одного и того же java.util.Random экземпляра в потоках может столкнуться с спором и, следовательно, с низкой производительностью. Вместо этого следует использовать java.util.concurrent.ThreadLocalRandom в многопоточных конструкциях.

Экземпляры java.util.Random не защищены криптографически. Вместо этого рекомендуется использовать java.security.SecureRandom для получения криптографически безопасного генератора псевдослучайного числа для использования приложениями с учетом безопасности.

Добавлено в версии 1.0.

Java документации по java.util.Random.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Конструкторы

Имя. Описание
Random()

Создает генератор случайных чисел.

Random(Int64)

Создает новый генератор случайных чисел с помощью одного long начального значения.

Random(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Свойства

Имя. Описание
Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Object)
JniManagedPeerState

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

(Унаследовано от JavaObject)
JniPeerMembers

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Имя. Описание
Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

(Унаследовано от JavaObject)
Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
DisposeUnlessReferenced()

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

(Унаследовано от JavaObject)
Equals(Object)

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

(Унаследовано от JavaObject)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
From(IRandomGenerator)

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

GetHashCode()

Возвращает хэш-значение кода для объекта.

(Унаследовано от Object)
JavaFinalize()
Устаревшие.

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
Next(Int32)

Создает следующий псевдорандомный номер.

NextBoolean()

Возвращает следующее псевдорандомное значение, равномерно распределенное boolean из последовательности генератора случайных чисел.

NextBytes(Byte[])

Создает случайные байты и помещает их в предоставленный пользователем массив байтов.

NextDouble()

Возвращает следующее псевдорандомное значение, равномерно распределенное double между 0.01.0 последовательностью генератора случайных чисел.

NextFloat()

Возвращает следующее псевдорандомное значение, равномерно распределенное float между 0.01.0 последовательностью генератора случайных чисел.

NextGaussian()

Возвращает следующее псевдорандомо, Гауссиан ("обычно") распределенное double значение со средним 0.0 и стандартным отклонением от последовательности 1.0 генератора случайных чисел.

NextInt()

Возвращает следующее псевдорандомное значение, равномерно распределенное int из последовательности генератора случайных чисел.

NextInt(Int32)

Возвращает псевдорандомное значение, равномерно распределенное int между 0 (включительно) и указанным значением (монопольным), полученным из последовательности генератора случайных чисел.

NextLong()

Возвращает следующее псевдорандомное значение, равномерно распределенное long из последовательности генератора случайных чисел.

Notify()

Просыпается один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

(Унаследовано от JavaObject)
SetSeed(Int64)

Задает начальное значение этого генератора случайных чисел с помощью одного long начального значения.

ToArray<T>()

Создает управляемый массив из этого Java оболочки массива.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.>

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

Имя. Описание
IJavaPeerable.Disposed()

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

(Унаследовано от JavaObject)
IJavaPeerable.Finalized()

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

(Унаследовано от JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

Методы расширения

Имя. Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Экземпляр этого класса используется для создания потока псевдорандомных чисел; его период составляет только 2<sup 48>/sup<>.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к