Функция random

Функция random возвращает случайный элемент из коллекции. Применяется к массивам Array, спискам List, множествам Set и другим итерируемым коллекциям. Для пустой коллекции функция выбрасывает исключение.

Импорт

kotlinimport kotlin.collections.random

Синтаксис

kotlinfun <T> Collection<T>.random(): T
kotlinfun <T> Array<T>.random(): T
kotlinfun ByteArray.random(): Byte
kotlinfun ShortArray.random(): Short
kotlinfun IntArray.random(): Int
kotlinfun LongArray.random(): Long
kotlinfun FloatArray.random(): Float
kotlinfun DoubleArray.random(): Double
kotlinfun BooleanArray.random(): Boolean
kotlinfun CharArray.random(): Char
kotlinfun <T> Iterable<T>.random(): T

Пример

Получим случайный элемент из списка типа List:

kotlinval list = listOf(1, 2, 3, 4, 5)
val res = list.random()
println(res)

Результат выполнения кода:

kotlinInt 3

Пример

Получим случайный элемент из массива типа Array:

kotlinval array = arrayOf('a', 'b', 'c', 'd', 'e')
val res = array.random()
println(res)

Результат выполнения кода:

kotlinChar 'c'

Пример

Получим случайный элемент из множества типа Set:

kotlinval set = setOf("apple", "banana", "orange")
val res = set.random()
println(res)

Результат выполнения кода:

kotlinString "banana"

Пример

Для числовых массивов функция возвращает значение соответствующего типа:

kotlinval intArray = intArrayOf(10, 20, 30, 40, 50)
val res = intArray.random()
println(res)

Результат выполнения кода:

kotlinInt 30

Пример

При попытке получить случайный элемент из пустой коллекции функция выбрасывает исключение NoSuchElementException:

kotlinval emptyList = emptyList<String>()
val res = emptyList.random()
println(res)

Результат выполнения кода:

kotlinException: java.util.NoSuchElementException: Collection is empty.

Смотрите также

  • функцию randomOrNull,
    которая возвращает null для пустой коллекции вместо исключения
  • функцию shuffled,
    которая возвращает новую коллекцию с перемешанными элементами
  • функцию first,
    которая возвращает первый элемент коллекции
  • функцию last,
    которая возвращает последний элемент коллекции