buildList
@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
}@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