Функция last

Функция last возвращает последний элемент коллекции. Для массивов и списков функция возвращает элемент с наибольшим индексом. Для множеств функция возвращает произвольный элемент, так как Set не гарантирует порядок элементов. Для ассоциативных массивов функция возвращает последнюю пару ключ-значение.

Импорт

kotlinimport kotlin.collections.last

Синтаксис

kotlin// Для Iterable (List, Set)
fun <T> Iterable<T>.last(): T

// Для Array
fun <T> Array<out T>.last(): T

// Для Map
fun <K, V> Map<out K, V>.last(): Map.Entry<K, V>

// С предикатом
fun <T> Iterable<T>.last(predicate: (T) -> Boolean): T

Пример

Получим последний элемент списка типа List:

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

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

kotlinInt 5

Пример

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

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

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

kotlinChar e

Пример

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

kotlinval set = setOf(10, 20, 30, 40, 50)
val res = set.last()
println(res)

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

kotlinInt 50

Пример

Получим последнюю пару ключ-значение ассоциативного массива типа Map:

kotlinval map = mapOf("a" to 1, "b" to 2, "c" to 3)
val res = map.last()
println(res)

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

kotlinc=3

Пример

Используем функцию last с предикатом для поиска последнего четного числа:

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

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

kotlinInt 8

Исключения

Функция last выбрасывает исключение NoSuchElementException, если коллекция пустая. Для безопасного получения последнего элемента используйте lastOrNull.

kotlinval emptyList = emptyList<Int>()

try {
  val res = emptyList.last()
} catch (e: NoSuchElementException) {
  println("Collection is empty")
}

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

kotlinCollection is empty

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

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

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

  • функцию first,
    которая возвращает первый элемент коллекции
  • функцию lastOrNull,
    которая безопасно возвращает последний элемент или null
  • функцию elementAt,
    которая возвращает элемент по указанному индексу
  • функцию find,
    которая ищет элемент по предикату