АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
382 of 1310 menu
Бесплатный тренинг по JavaScript: работа с Drag-and-Drop. Начало 2 октября. Жми для записи!

Функция first

Функция first возвращает первый элемент коллекции. Может принимать необязательный параметр-предикат - функцию, которая определяет условие поиска элемента. Если предикат не указан, возвращается просто первый элемент коллекции. Если ни один элемент не удовлетворяет условию предиката, выбрасывается исключение NoSuchElementException.

Импорт

// Функция доступна без импорта для всех коллекций

Синтаксис

fun <T> Iterable<T>.first(): T
fun <T> Iterable<T>.first(predicate: (T) -> Boolean): T
fun <T> Array<T>.first(): T
fun <K, V> Map<K, V>.first(): Map.Entry<K, V>

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

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

  • Array - массивы
  • List - списки
  • Set - множества
  • Map - словари (возвращает первую пару ключ-значение)
  • Iterable - любые итерируемые коллекции
  • Sequence - последовательности

Пример

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

val list = listOf(1, 2, 3, 4, 5) val res = list.first() println(res)

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

Int 1

Пример

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

val array = arrayOf('a', 'b', 'c', 'd', 'e') val res = array.first() println(res)

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

Char a

Пример

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

val set = setOf("apple", "banana", "cherry") val res = set.first() println(res)

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

String "apple"

Пример

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

val map = mapOf(1 to "one", 2 to "two", 3 to "three") val res = map.first() println(res)

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

Entry 1=one

Пример

Найдем первый четный элемент в списке:

val numbers = listOf(1, 3, 5, 2, 4, 6) val res = numbers.first { it % 2 == 0 } println(res)

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

Int 2

Пример

Найдем первый элемент, начинающийся с определенной буквы:

val words = listOf("apple", "banana", "avocado", "cherry") val res = words.first { it.startsWith("a") } println(res)

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

String "apple"

Обработка исключений

Если коллекция пустая или ни один элемент не удовлетворяет условию, функция first выбрасывает NoSuchElementException:

val emptyList = emptyList<Int>() try { val res = emptyList.first() } catch (e: NoSuchElementException) { println("Collection is empty") }

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

String "Collection is empty"

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

  • функцию firstOrNull,
    которая возвращает null вместо исключения
  • функцию last,
    которая возвращает последний элемент коллекции
  • функцию elementAt,
    которая возвращает элемент по указанному индексу
  • функцию find,
    которая аналогична firstOrNull с предикатом