chunked
Начиная с Kotlin: 1.2
fun <T> Iterable<T>.chunked(size: Int): List<List<T>>
Разбивает эту коллекцию на список списков, каждый из которых не превышает заданный размер.
В последнем списке результирующего списка может быть меньше элементов, чем заданный размер.
Параметры
количество элементов в каждом списке; должно быть положительным и может превышать количество элементов в этой коллекции.
Примеры
import kotlin.math.*
import kotlin.test.*
fun main() {
//sampleStart
val words = "one two three four five six seven eight nine ten".split(' ')
val chunks = words.chunked(3)
println(chunks) // [[one, two, three], [four, five, six], [seven, eight, nine], [ten]]
//sampleEnd
}
fun <T, R> Iterable<T>.chunked(size: Int, transform: (List<T>) -> R): List<R>
Разбивает эту коллекцию на несколько списков, каждый из которых не превышает заданный размер, и применяет к каждому из них заданную функцию transform.
Возвращает
список результатов применения функции transform к каждому списку.
Обратите внимание, что список, передаваемый функции transform, является временным и действителен только внутри этой функции. Не следует сохранять его или иным образом допускать его использование за пределами функции, если только вы не создали его копию. В последнем списке может быть меньше элементов, чем заданный размер.
Параметры
количество элементов в каждом списке; должно быть положительным и может превышать количество элементов в этой коллекции.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val codonTable = mapOf("ATT" to "Isoleucine", "CAA" to "Glutamine", "CGC" to "Arginine", "GGC" to "Glycine")
val dnaFragment = "ATTCGCGGCCGCCAA"
val proteins = dnaFragment.chunked(3) { codon: CharSequence -> codonTable[codon.toString()] ?: error("Unknown codon") }
println(proteins) // [Isoleucine, Arginine, Glycine, Arginine, Glutamine]
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/chunked.html