Функция removeFirstOrNull

Функция removeFirstOrNull удаляет и возвращает первый элемент из изменяемой коллекции. Если коллекция пустая, функция возвращает null. Эта функция безопаснее чем removeFirst, которая выбрасывает исключение при попытке удалить элемент из пустой коллекции.

Импорт

kotlinimport kotlin.collections.removeFirstOrNull

Синтаксис

kotlinfun <T> MutableList<T>.removeFirstOrNull(): T?
kotlinfun <T> ArrayDeque<T>.removeFirstOrNull(): T?
kotlinfun <T> MutableCollection<T>.removeFirstOrNull(): T?

Для каких типов коллекций работает

Функция removeFirstOrNull работает со следующими типами коллекций:

Не работает с:

Пример

Удаление первого элемента из непустого списка:

kotlinval numbers = mutableListOf(1, 2, 3, 4, 5)
val firstElement = numbers.removeFirstOrNull()
println("Removed: $firstElement")
println("Remaining list: $numbers")

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

kotlinRemoved: 1
Remaining list: [2, 3, 4, 5]

Пример

Попытка удаления из пустого списка:

kotlinval emptyList = mutableListOf<Int>()
val result = emptyList.removeFirstOrNull()
println("Result: $result")
println("List remains empty: ${emptyList.isEmpty()}")

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

kotlinResult: null
List remains empty: true

Пример

Использование с ArrayDeque:

kotlinval deque = ArrayDeque(listOf('a', 'b', 'c', 'd', 'e'))
val removedChar = deque.removeFirstOrNull()
println("Removed character: $removedChar")
println("Deque after removal: $deque")

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

kotlinRemoved character: a
Deque after removal: [b, c, d, e]

Пример

Безопасная обработка с помощью элвис-оператора:

kotlinval items = mutableListOf<String>()
val firstItem = items.removeFirstOrNull() ?: "No items available"
println(firstItem)

items.add("apple")
items.add("banana")
val nextItem = items.removeFirstOrNull() ?: "No items available"
println(nextItem)

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

kotlinNo items available
apple

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

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