Kotlin:
Satunnaislukujen generointi
Kuinka:
Kotlin tarjoaa suoraviivaisen tavan satunnaislukujen tuottamiseen sen vakio kirjaston kautta. Näin voit tuottaa erityyppisiä satunnaisia arvoja:
Satunnaisen kokonaisluvun tuottaminen
Satunnaisen kokonaisluvun tuottaminen tietyllä välillä:
import kotlin.random.Random
fun main() {
val randomNumber = Random.nextInt(1, 100) // Tuottaa satunnaisen luvun välillä 1 ja 99
println(randomNumber)
}
Satunnaisen liukuluvun tuottaminen
Samoin satunnaisen liukuluvun tuottaminen:
import kotlin.random.Random
fun main() {
val randomDouble = Random.nextDouble(1.0, 10.0) // Tuottaa satunnaisen liukuluvun välillä 1.0 ja 10.0
println(randomDouble)
}
Satunnaisen totuusarvon tuottaminen
Satunnaisen totuusarvon tuottamiseksi:
import kotlin.random.Random
fun main() {
val randomBoolean = Random.nextBoolean() // Tuottaa satunnaisesti joko tosi tai epätosi
println(randomBoolean)
}
Kylvöarvo toistettavien tulosten saamiseksi
Tapauksissa, joissa tarvitset toistettavia satunnaislukujen sekvenssejä (esimerkiksi testauksessa), voit kylvää satunnaislukugeneraattorin:
import kotlin.random.Random
fun main() {
val seed = 12345L
val random = Random(seed)
val randomNumber = random.nextInt(1, 100)
println(randomNumber)
}
Syväsukellus
Kotlinin vakio kirjaston lähestymistapa satunnaislukujen tuottamiseen hyödyntää Java’n java.util.Random
ia taustalla, varmistaen käyttöhelppouden ja suorituskyvyn sekoituksen. On kuitenkin tärkeää huomata, että nämä menetelmät tuottavat pseudosatunnaislukuja, mikä tarkoittaa, että luvut vaikuttavat satunnaisilta, mutta ne on tuotettu deterministisellä prosessilla.
Useimmissa sovelluksissa Kotlinin Random
luokan tarjoama satunnaisuus on riittävä. Kuitenkin, turvallisuus-herkillä sovelluksilla, kuten kryptografiassa, jossa satunnaisuuden laatu on ensiarvoisen tärkeää, tulisi harkita java.security.SecureRandom
käyttämistä sen sijaan. SecureRandom on erityisesti suunniteltu kryptografisiin toimenpiteisiin, tarjoten korkeamman laadun satunnaisuutta, vaikkakin mahdollisesti suorituskyvyn kompromissilla.
Kotlin ei keksi pyörää uudelleen, mutta tarjoaa Kotlin-ystävällisen API:n Javan satunnaislukujen tuottamismekanismien päälle, tehdäkseen sen idiomaattisemmaksi ja tiiviimmäksi käyttää Kotlin-projekteissa. Kuten aina satunnaisuutta käsiteltäessä, ohjelmoijien tulisi huolellisesti harkita käyttötapaus valitakseen työkalun, joka sopii parhaiten tehtävään.