Функция removeFirstOrNull
Функция removeFirstOrNull
удаляет и возвращает первый элемент
из изменяемой коллекции. Если коллекция пустая, функция возвращает
null
. Эта функция безопаснее чем removeFirst
, которая
выбрасывает исключение при попытке удалить элемент из пустой коллекции.
Импорт
import kotlin.collections.removeFirstOrNull
Синтаксис
fun <T> MutableList<T>.removeFirstOrNull(): T?
fun <T> ArrayDeque<T>.removeFirstOrNull(): T?
fun <T> MutableCollection<T>.removeFirstOrNull(): T?
Для каких типов коллекций работает
Функция removeFirstOrNull
работает со следующими типами коллекций:
MutableList
- изменяемые спискиArrayDeque
- двусторонние очередиLinkedList
- связанные спискиMutableCollection
- любые изменяемые коллекции
Не работает с:
Array
- массивы (фиксированного размера)Set
- множества (не гарантируют порядок элементов)Map
- словари (работают с парами ключ-значение)List
- неизменяемые списки
Пример
Удаление первого элемента из непустого списка:
val numbers = mutableListOf(1, 2, 3, 4, 5)
val firstElement = numbers.removeFirstOrNull()
println("Removed: $firstElement")
println("Remaining list: $numbers")
Результат выполнения кода:
Removed: 1
Remaining list: [2, 3, 4, 5]
Пример
Попытка удаления из пустого списка:
val emptyList = mutableListOf<Int>()
val result = emptyList.removeFirstOrNull()
println("Result: $result")
println("List remains empty: ${emptyList.isEmpty()}")
Результат выполнения кода:
Result: null
List remains empty: true
Пример
Использование с ArrayDeque:
val deque = ArrayDeque(listOf('a', 'b', 'c', 'd', 'e'))
val removedChar = deque.removeFirstOrNull()
println("Removed character: $removedChar")
println("Deque after removal: $deque")
Результат выполнения кода:
Removed character: a
Deque after removal: [b, c, d, e]
Пример
Безопасная обработка с помощью элвис-оператора:
val 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)
Результат выполнения кода:
No items available
apple
Смотрите также
-
функцию
removeFirst
,
которая выбрасывает исключение для пустой коллекции -
функцию
removeLastOrNull
,
которая удаляет и возвращает последний элемент илиnull
-
функцию
firstOrNull
,
которая возвращает первый элемент без удаления -
функцию
isEmpty
,
которая проверяет, пустая ли коллекция