Spec-Zone.ru › Kotlin 2

chunked

kotlin-stdlib/kotlin.sequences/chunked

Начиная с Kotlin: 1.2

fun <T> Sequence<T>.chunked(size: Int): Sequence<List<T>>

Разбивает эту последовательность на последовательность списков, каждый из которых не превышает заданный размер.

Последний список в результирующей последовательности может содержать меньше элементов, чем заданный размер.

Параметры

size

количество элементов, которые нужно взять в каждый список; должно быть положительным и может превышать количество элементов в этой последовательности.

Операция является промежуточной и имеющей состояние.

Примеры

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> Sequence<T>.chunked(size: Int, transform: (List<T>) -> R): Sequence<R>

Разбивает эту последовательность на несколько списков, каждый из которых не превышает заданный размер, и применяет к каждому из них заданную функцию transform.

Возвращает

последовательность результатов применения transform к каждому списку.

Обратите внимание, что список, передаваемый функции transform, является временным и действителен только внутри этой функции. Не следует сохранять его или допускать, чтобы он каким-либо образом вышел за её пределы, если только вы не создали его снимок. Последний список может содержать меньше элементов, чем заданный размер.

Параметры

size

количество элементов, которые нужно взять в каждый список; должно быть положительным и может превышать количество элементов в этой последовательности.

Операция является промежуточной и имеющей состояние.

Примеры

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.sequences/chunked.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API