buildList
inline fun <E> buildList( builderAction: MutableList<E>.() -> Unit ): List<E>
Создаёт новый неизменяемый список, заполняя список с помощью заданного блока-строителя и возвращая неизменяемый список с теми же элементами.
Список, переданный в качестве получателя в блок-строитель, действителен только внутри этой функции. Использование его вне функции приводит к неопределённому поведению.
Возвращаемый список сериализуем (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>
Создаёт новый неизменяемый список, заполняя список с помощью заданного блока-строителя и возвращая неизменяемый список с теми же элементами.
Список, переданный в качестве получателя в блок-строитель, действителен только внутри этой функции. Использование его вне функции приводит к неопределённому поведению.
Возвращаемый список сериализуем (JVM).
Ёмкость используется для указания ожидаемого числа элементов, добавленных в блок-строитель.
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 - если заданная ёмкость отрицательна.
© 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