Функция 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 работает для следующих типов коллекций:
Array- массивыList- спискиSet- множестваMap- ассоциативные массивыIterable- любые итерируемые коллекцииSequence- последовательности
Смотрите также
-
функцию
first,
которая возвращает первый элемент коллекции -
функцию
lastOrNull,
которая безопасно возвращает последний элемент илиnull -
функцию
elementAt,
которая возвращает элемент по указанному индексу -
функцию
find,
которая ищет элемент по предикату