Функция takeLast
Функция takeLast возвращает список, содержащий
последние n элементов из коллекции.
Если n превышает размер коллекции,
возвращается вся коллекция.
Синтаксис
fun <T> Iterable<T>.takeLast(n: Int): List<T>
fun <T> Array<T>.takeLast(n: Int): List<T>
fun <T> List<T>.takeLast(n: Int): List<T>
fun <T> Set<T>.takeLast(n: Int): List<T>
Поддерживаемые типы коллекций
Функция takeLast работает со следующими типами коллекций:
Array- массивыList- спискиSet- множестваIterable- любые итерируемые коллекции
Для Map функция takeLast не применяется напрямую,
но можно использовать entries, keys или values.
Пример
Получим последние 3 элемента из массива:
val arr = arrayOf(1, 2, 3, 4, 5)
val res = arr.takeLast(3)
println(res)
Результат выполнения кода:
List<Int> [3, 4, 5]
Пример
Получим последние 2 элемента из списка:
val list = listOf('a', 'b', 'c', 'd', 'e')
val res = list.takeLast(2)
println(res)
Результат выполнения кода:
List<Char> ['d', 'e']
Пример
Получим последние 5 элементов из множества:
val set = setOf(10, 20, 30, 40, 50)
val res = set.takeLast(5)
println(res)
Результат выполнения кода:
List<Int> [10, 20, 30, 40, 50]
Пример
Если запросить больше элементов, чем есть в коллекции, вернется вся коллекция:
val arr = arrayOf(1, 2, 3)
val res = arr.takeLast(5)
println(res)
Результат выполнения кода:
List<Int> [1, 2, 3]
Пример
Работа с Map через entries, keys и values:
val map = mapOf("a" to 1, "b" to 2, "c" to 3, "d" to 4)
val lastTwoEntries = map.entries.takeLast(2)
val lastTwoKeys = map.keys.takeLast(2)
val lastTwoValues = map.values.takeLast(2)
println("Entries: $lastTwoEntries")
println("Keys: $lastTwoKeys")
println("Values: $lastTwoValues")
Результат выполнения кода:
Entries: [c=3, d=4]
Keys: [c, d]
Values: [3, 4]