buildList
inline fun <E> buildList( builderAction: MutableList<E>.() -> Unit ): List<E>
Создаёт новый неизменяемый список, заполняя список с помощью заданного builderAction и возвращая неизменяемый список с теми же элементами.
Список, переданный в качестве получателя в builderAction, действителен только внутри этой функции. Использование его за пределами функции приводит к неопределённому поведению.
Возвращаемый список сериализуем (JVM).
fun main(args: Array<String>) {
//sampleStart
val x = listOf('b', 'c')
val y = buildList() {
add('a')
addAll(x)
add('d')
}
println(y) // [a, b, c, d]
//sampleEnd
}inline fun <E> buildList( capacity: Int, builderAction: MutableList<E>.() -> Unit ): List<E>
Создаёт новый неизменяемый список, заполняя список с помощью заданного builderAction и возвращая неизменяемый список с теми же элементами.
Список, переданный в качестве получателя в builderAction, действителен только внутри этой функции. Использование его за пределами функции приводит к неопределённому поведению.
Возвращаемый список сериализуем (JVM).
Значение 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–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/build-list.html