Функция 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,
которая возвращает последний элемент коллекции