Kotlin список случайных различных чисел - PullRequest
3 голосов
/ 18 марта 2019

Я создаю список случайных чисел, используя следующий подход

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

Однако этот подход не работает, так как я хочу избежать повторений

Ответы [ 2 ]

4 голосов
/ 18 марта 2019

Один из способов - перетасовать 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()
0 голосов
/ 18 марта 2019

Однострочный подход для получения списка n различных случайных элементов. Random ничем не ограничен.

val list = mutableSetOf<Int>().let { while (it.size() < n) it += Random.nextInt(0, 100) }.toList()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...