Функция 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,
которая проверяет коллекцию на пустоту