Функция randomOrNull
Функция randomOrNull
возвращает случайный элемент
из коллекции или null
, если коллекция пустая.
Работает с массивами Array
, списками List
,
множествами Set
и ассоциативными массивами Map
.
Для Map
возвращается случайная пара ключ-значение.
Импорт
import kotlin.collections.randomOrNull
Синтаксис
// Для Iterable (List, Set)
fun <T> Iterable<T>.randomOrNull(): T?
// Для Array
fun <T> Array<T>.randomOrNull(): T?
// Для Map
fun <K, V> Map<K, V>.randomOrNull(): Map.Entry<K, V>?
Пример
Получим случайный элемент из списка:
val list = listOf(1, 2, 3, 4, 5)
val res = list.randomOrNull()
println(res)
Результат выполнения кода:
Int 3
Пример
Получим случайный элемент из пустого списка:
val emptyList = emptyList<String>()
val res = emptyList.randomOrNull()
println(res)
Результат выполнения кода:
null
Пример
Получим случайный элемент из массива:
val array = arrayOf('a', 'b', 'c', 'd', 'e')
val res = array.randomOrNull()
println(res)
Результат выполнения кода:
Char 'c'
Пример
Получим случайную пару ключ-значение из Map:
val map = mapOf("key1" to 100, "key2" to 200, "key3" to 300)
val res = map.randomOrNull()
println(res)
Результат выполнения кода:
key2=200
Пример
Использование с безопасным вызовом для обработки null:
val numbers = listOf(10, 20, 30)
val randomNumber = numbers.randomOrNull()?.plus(5)
println(randomNumber)
Результат выполнения кода:
Int 25
Смотрите также
-
функцию
random
,
которая выбрасывает исключение для пустой коллекции -
функцию
firstOrNull
,
которая возвращает первый элемент илиnull
-
функцию
lastOrNull
,
которая возвращает последний элемент илиnull
-
функцию
isEmpty
,
которая проверяет коллекцию на пустоту