Функция takeLast

Функция takeLast возвращает список, содержащий последние n элементов из коллекции. Если n превышает размер коллекции, возвращается вся коллекция.

Синтаксис

kotlinfun <T> Iterable<T>.takeLast(n: Int): List<T>
kotlinfun <T> Array<T>.takeLast(n: Int): List<T>
kotlinfun <T> List<T>.takeLast(n: Int): List<T>
kotlinfun <T> Set<T>.takeLast(n: Int): List<T>

Поддерживаемые типы коллекций

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

Для Map функция takeLast не применяется напрямую, но можно использовать entries, keys или values.

Пример

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

kotlinval arr = arrayOf(1, 2, 3, 4, 5)
val res = arr.takeLast(3)
println(res)

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

kotlinList<Int> [3, 4, 5]

Пример

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

kotlinval list = listOf('a', 'b', 'c', 'd', 'e')
val res = list.takeLast(2)
println(res)

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

kotlinList<Char> ['d', 'e']

Пример

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

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

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

kotlinList<Int> [10, 20, 30, 40, 50]

Пример

Если запросить больше элементов, чем есть в коллекции, вернется вся коллекция:

kotlinval arr = arrayOf(1, 2, 3)
val res = arr.takeLast(5)
println(res)

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

kotlinList<Int> [1, 2, 3]

Пример

Работа с Map через entries, keys и values:

kotlinval 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")

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

kotlinEntries: [c=3, d=4]
Keys: [c, d]
Values: [3, 4]

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

  • функцию take,
    которая возвращает первые n элементов коллекции
  • функцию drop,
    которая возвращает коллекцию без первых n элементов
  • функцию dropLast,
    которая возвращает коллекцию без последних n элементов
  • функцию last,
    которая возвращает последний элемент коллекции