Spec-Zone.ru › Kotlin 1.8

chunked

kotlin-stdlib / kotlin.collections / chunked
Требования к платформе и версии: JVM (1.2), JS (1.2), Native (1.2)
fun <T> Iterable<T>.chunked(size: Int): List<List<T>>

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

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

import kotlin.test.*

fun main(args: Array<String>) {
//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
}

Параметры

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

Требования к платформе и версии: JVM (1.2), JS (1.2), Native (1.2)
fun <T, R> Iterable<T>.chunked(
    size: Int, 
    transform: (List<T>) -> R
): List<R>

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

import java.util.Locale
import kotlin.test.*

fun main(args: Array<String>) {
//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
}

Параметры

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

Возвращаемое значение

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

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

© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/chunked.html

Spec-Zone.ru

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