Spec-Zone.ru › Kotlin 1.4

Случайный

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

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

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

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

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

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

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

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

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

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

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–2020 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