Gabriel
02/20/2021, 11:21 AMval avatarList = mutableListOf<Int>(1,2,3)
fun generateRandomAvatar(): Int? {
val pick = avatarList.randomOrNull()
if (pick !== null) avatarList.remove(pick)
return pick
}
appasni
02/20/2021, 11:38 AMgenerateRandomAvatar
receive a MutableList
.appasni
02/20/2021, 11:39 AMGabriel
02/20/2021, 11:40 AMAlexis Manin
02/20/2021, 11:58 AMkotlin
fun <T> MutableList<T>.removeRandomOrNull() : T? {
return if (isEmpty()) null;
else removeAt(random().nextInt(0, size))
}
Gabriel
02/20/2021, 12:00 PMGabriel
02/20/2021, 12:04 PMfun generateRandomAvatar() = avatarList.removeRandomOrNull()
Youssef Shoaib [MOD]
02/20/2021, 1:22 PMval avatarList = mutableListOf<Int>(1,2,3)
fun generateRandomAvatar(): Int? = avatarList.randomOrNull()?.also { avatarList.remove(it) }
nkiesel
02/23/2021, 1:30 AMrandom().nextInt(0, size)
you could also use indices.random()
. However, I like the .also
approach best