Spec-Zone.ru › Kotlin 1.4

buildList

kotlin-stdlib / kotlin.collections / buildList
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)
@ExperimentalStdlibApi inline fun <E> buildList(
    builderAction: MutableList<E>.() -> Unit
): List<E>

Создаёт новый неизменяемый список List, заполняя изменяемый список MutableList с помощью заданного builderAction и возвращая неизменяемый список с теми же элементами.

Список, переданный в качестве получателя в builderAction, допустим только внутри этой функции. Использование его вне функции приводит к неопределённому поведению.



fun main(args: Array<String>) {
//sampleStart
val x = listOf('b', 'c')

val y = buildList(x.size + 2) {
    add('a')
    addAll(x)
    add('d')
}

println(y) // [a, b, c, d]
//sampleEnd
}
Требования к платформе и версии: JVM (1.3), JS (1.3), Native (1.3)
@ExperimentalStdlibApi inline fun <E> buildList(
    capacity: Int, 
    builderAction: MutableList<E>.() -> Unit
): List<E>

Создаёт новый неизменяемый List, заполняя изменяемый MutableList с помощью заданного builderAction и возвращая неизменяемый список с теми же элементами.

Список, переданный в качестве получателя в builderAction, допустим только внутри этой функции. Использование его вне функции приводит к неопределённому поведению.

capacity используется для указания предполагаемого количества элементов, добавляемых в builderAction.



fun main(args: Array<String>) {
//sampleStart
val x = listOf('b', 'c')

val y = buildList(x.size + 2) {
    add('a')
    addAll(x)
    add('d')
}

println(y) // [a, b, c, d]
//sampleEnd
}

Исключения

IllegalArgumentException - если заданный capacity отрицательный.

© 2010–2020 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/build-list.html

Spec-Zone.ru

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