Функция randomOrNull

Функция randomOrNull возвращает случайный элемент из коллекции или null, если коллекция пустая. Работает с массивами Array, списками List, множествами Set и ассоциативными массивами Map. Для Map возвращается случайная пара ключ-значение.

Импорт

kotlinimport kotlin.collections.randomOrNull

Синтаксис

kotlin// Для Iterable (List, Set)
fun <T> Iterable<T>.randomOrNull(): T?
kotlin// Для Array
fun <T> Array<T>.randomOrNull(): T?
kotlin// Для Map
fun <K, V> Map<K, V>.randomOrNull(): Map.Entry<K, V>?

Пример

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

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

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

kotlinInt 3

Пример

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

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

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

kotlinnull

Пример

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

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

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

kotlinChar 'c'

Пример

Получим случайную пару ключ-значение из Map:

kotlinval map = mapOf("key1" to 100, "key2" to 200, "key3" to 300)
val res = map.randomOrNull()
println(res)

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

kotlinkey2=200

Пример

Использование с безопасным вызовом для обработки null:

kotlinval numbers = listOf(10, 20, 30)
val randomNumber = numbers.randomOrNull()?.plus(5)
println(randomNumber)

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

kotlinInt 25

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

  • функцию random,
    которая выбрасывает исключение для пустой коллекции
  • функцию firstOrNull,
    которая возвращает первый элемент или null
  • функцию lastOrNull,
    которая возвращает последний элемент или null
  • функцию isEmpty,
    которая проверяет коллекцию на пустоту