Spec-Zone.ru › Kotlin 1.6

Случайный

kotlin-stdlib / kotlin.random / Случайный
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)
fun Random(seed: Int): Random

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

Два генератора с одинаковым начальным значением создают одну и ту же последовательность значений в рамках одной версии среды выполнения Kotlin.

Примечание: Будущие версии Kotlin могут изменить алгоритм этого генератора случайных чисел, чтобы он возвращал последовательность значений, отличную от текущей для заданного начального значения.

В JVM возвращаемый генератор НЕ потокобезопасен. Не вызывайте его из нескольких потоков без соответствующей синхронизации.

import kotlin.math.sin
import kotlin.random.Random
import kotlin.test.assertTrue

fun main(args: Array<String>) {
//sampleStart
fun getRandomList(random: Random): List<Int> =
    List(10) { random.nextInt(0, 100) }

val randomValues1 = getRandomList(Random(42))
// prints the same sequence every time
println(randomValues1) // [33, 40, 41, 2, 41, 32, 21, 40, 69, 87]

val randomValues2 = getRandomList(Random(42))
// random with the same seed produce the same sequence
println("randomValues1 == randomValues2 is ${randomValues1 == randomValues2}") // true

val randomValues3 = getRandomList(Random(0))
// random with another seed produce another sequence
println(randomValues3) // [14, 48, 57, 67, 82, 7, 61, 27, 14, 59]
//sampleEnd
}
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)
fun Random(seed: Long): Random

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

Два генератора с одинаковым начальным значением создают одну и ту же последовательность значений в рамках одной версии среды выполнения Kotlin.

Примечание: Будущие версии Kotlin могут изменить алгоритм этого генератора случайных чисел, чтобы он возвращал последовательность значений, отличную от текущей для заданного начального значения.

В JVM возвращаемый генератор НЕ потокобезопасен. Не вызывайте его из нескольких потоков без соответствующей синхронизации.

import kotlin.math.sin
import kotlin.random.Random
import kotlin.test.assertTrue

fun main(args: Array<String>) {
//sampleStart
fun getRandomList(random: Random): List<Int> =
    List(10) { random.nextInt(0, 100) }

val randomValues1 = getRandomList(Random(42))
// prints the same sequence every time
println(randomValues1) // [33, 40, 41, 2, 41, 32, 21, 40, 69, 87]

val randomValues2 = getRandomList(Random(42))
// random with the same seed produce the same sequence
println("randomValues1 == randomValues2 is ${randomValues1 == randomValues2}") // true

val randomValues3 = getRandomList(Random(0))
// random with another seed produce another sequence
println(randomValues3) // [14, 48, 57, 67, 82, 7, 61, 27, 14, 59]
//sampleEnd
}

© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.random/-random.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API