Kotlin随机数列表

时间:2019-03-17 21:46:17

标签: list kotlin

我正在使用以下方法创建随机数列表

val randomList = List(4) { Random.nextInt(0, 100) }

但是,这种方法行不通,因为我想避免重复

3 个答案:

答案 0 :(得分:4)

一种方法是将Range随机排序,并根据需要提取任意数量的项目:

val randomList = (0..99).shuffled().take(4)

如果范围很大并且只需要几个数字,效率就不太高。
在这种情况下,最好像这样使用Set

val s: MutableSet<Int> = mutableSetOf()
while (s.size < 4) { s.add((0..99).random()) }
val randomList = s.toList()

答案 1 :(得分:0)

创建:

 val list = (0 until 100).toMutableList()  
    val randList = mutableListOf<Int>()
    
    for (i in 0 until 4) {
        val uniqueRand = list.random()
        randList.add(uniqueRand)
        list.remove(uniqueRand)
    }

答案 2 :(得分:-1)

一种行方法来获取n个不同的随机元素的列表。 Random不受任何限制。

val list = mutableSetOf<Int>().let { while (it.size() < n) it += Random.nextInt(0, 100) }.toList()
相关问题