Функция buildList
Функция buildList создает новый неизменяемый список
типа List с использованием лямбды-билдера. Внутри лямбды
доступен mutable builder типа MutableList, который
преобразуется в неизменяемый список при возврате результата.
Импорт
import kotlin.collections.buildList
Синтаксис
inline fun <E> buildList(
builderAction: MutableList<E>.() -> Unit
): List<E>
inline fun <E> buildList(
capacity: Int,
builderAction: MutableList<E>.() -> Unit
): List<E>
Пример
Создадим список чисел от 1 до 5:
val numbers: List<Int> = buildList {
add(1)
add(2)
add(3)
add(4)
add(5)
}
println(numbers)
Результат выполнения кода:
List<Int> [1, 2, 3, 4, 5]
Пример
Создадим список символов с начальной емкостью:
val chars: List<Char> = buildList(10) {
add('a')
add('b')
add('c')
add('d')
add('e')
}
println(chars)
Результат выполнения кода:
List<Char> ['a', 'b', 'c', 'd', 'e']
Пример
Использование условной логики внутри билдера:
val includeFive = true
val result: List<Int> = buildList {
add(1)
add(2)
add(3)
add(4)
if (includeFive) {
add(5)
}
}
println(result)
Результат выполнения кода:
List<Int> [1, 2, 3, 4, 5]
Пример
Использование цикла для заполнения списка:
val squares: List<Int> = buildList {
for (i in 1..5) {
add(i * i)
}
}
println(squares)
Результат выполнения кода:
List<Int> [1, 4, 9, 16, 25]
Смотрите также
-
функцию
listOf,
которая создает список из переданных элементов -
функцию
mutableListOf,
которая создает изменяемый список -
функцию
emptyList,
которая создает пустой неизменяемый список -
функцию
buildSet,
которая создает множество с использованием builder-логики