Случайный
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
}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