Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
508 of 1310 menu
Бесплатный тренинг по JavaScript: работа с Drag-and-Drop. Начало 2 октября. Жми для записи!

Функция ifEmpty

Функция ifEmpty проверяет, является ли коллекция пустой, и возвращает либо саму коллекцию, если она не пустая, либо результат вычисления блока defaultValue, если коллекция пустая. Работает с массивами Array, списками List, множествами Set, ассоциативными массивами Map и другими типами коллекций.

Синтаксис

inline fun <C : Collection<T>> C.ifEmpty( defaultValue: () -> C ): C
inline fun <T> Array<out T>.ifEmpty( defaultValue: () -> Array<out T> ): Array<out T>

Пример

Проверим пустой список и вернем альтернативное значение:

val emptyList = emptyList<String>() val res = emptyList.ifEmpty { listOf("default") } println(res)

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

List<String> ["default"]

Пример

Проверим непустой массив и вернем его же:

val array = arrayOf(1, 2, 3) val res = array.ifEmpty { arrayOf(0) } println(res.contentToString())

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

Array<Int> [1, 2, 3]

Пример

Проверим пустое множество и вернем вычисляемое значение:

val emptySet = emptySet<Char>() val res = emptySet.ifEmpty { setOf('a', 'b', 'c') } println(res)

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

Set<Char> ['a', 'b', 'c']

Пример

Проверим ассоциативный массив и вернем значение по умолчанию:

val emptyMap = emptyMap<String, Int>() val res = emptyMap.ifEmpty { mapOf("default" to 0) } println(res)

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

Map<String, Int> {default=0}

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

  • функцию isEmpty,
    которая проверяет коллекцию на пустоту
  • функцию isNotEmpty,
    которая проверяет коллекцию на непустоту
  • функцию orEmpty,
    которая возвращает пустую коллекцию для null-значений
  • функцию defaultIfEmpty,
    которая возвращает коллекцию с одним элементом по умолчанию