Функция take
Функция take возвращает новую коллекцию,
содержащую первые n элементов из исходной коллекции.
Если n больше размера коллекции, возвращается вся коллекция.
Функция доступна для всех типов коллекций и массивов.
Синтаксис
fun <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 элемента из списка:
val list = listOf(1, 2, 3, 4, 5)
val res = list.take(3)
println(res)
Результат выполнения кода:
List<Int> [1, 2, 3]
Пример
Получим первые 3 элемента из массива:
val array = arrayOf('a', 'b', 'c', 'd', 'e')
val res = array.take(3)
println(res)
Результат выполнения кода:
List<Char> ['a', 'b', 'c']
Пример
Получим первые 2 элемента из множества:
val set = setOf("apple", "banana", "cherry", "date")
val res = set.take(2)
println(res)
Результат выполнения кода:
List<String> ["apple", "banana"]
Пример
Получим первые 2 элемента из словаря:
val map = mapOf("a" to 1, "b" to 2, "c" to 3, "d" to 4)
val res = map.take(2)
println(res)
Результат выполнения кода:
List<Entry<String, Int>> [a=1, b=2]
Пример
Если запросить больше элементов, чем есть в коллекции, возвращается вся коллекция:
val list = listOf(10, 20, 30)
val res = list.take(5)
println(res)
Результат выполнения кода:
List<Int> [10, 20, 30]
Пример
Если запросить 0 элементов, возвращается пустой список:
val list = listOf(1, 2, 3, 4, 5)
val res = list.take(0)
println(res)
Результат выполнения кода:
List<Int> []
Для каких типов работает
Функция take доступна для следующих типов коллекций:
Array- массивыList- спискиSet- множестваMap- словари (возвращает список пар ключ-значение)Iterable- все итерируемые коллекцииSequence- последовательности