НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
487 of 1310 menu

Функция 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,
    которая проверяет, пустая ли коллекция
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить