null, если коллекция пустая.">
Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
397 of 1310 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

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