Функция take

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

Синтаксис

kotlinfun <T> Array<out T>.take(n: Int): List<T>
fun <T> Iterable<T>.take(n: Int): List<T>
fun <K, V> Map<out K, V>.take(n: Int): List<Entry<K, V>>

Пример

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

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

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

kotlinList<Int> [1, 2, 3]

Пример

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

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

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

kotlinList<Char> ['a', 'b', 'c']

Пример

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

kotlinval set = setOf("apple", "banana", "cherry", "date")
val res = set.take(2)
println(res)

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

kotlinList<String> ["apple", "banana"]

Пример

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

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

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

kotlinList<Entry<String, Int>> [a=1, b=2]

Пример

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

kotlinval list = listOf(10, 20, 30)
val res = list.take(5)
println(res)

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

kotlinList<Int> [10, 20, 30]

Пример

Если запросить 0 элементов, возвращается пустой список:

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

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

kotlinList<Int> []

Для каких типов работает

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

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

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