buildSet
@ExperimentalStdlibApi inline fun <E> buildSet( builderAction: MutableSet<E>.() -> Unit ): Set<E>
Создаёт новый неизменяемый Set, заполняя MutableSet с помощью заданного builderAction и возвращая неизменяемый набор с теми же элементами.
Множество, переданное в качестве получателя в builderAction, является допустимым только внутри этой функции. Использование его вне функции приводит к неопределённому поведению.
Элементы множества итерируются в порядке их добавления с помощью builderAction.
fun main(args: Array<String>) {
//sampleStart
val x = setOf('a', 'b')
val y = buildSet(x.size + 2) {
add('b')
addAll(x)
add('c')
}
println(y) // [b, a, c]
//sampleEnd
}@ExperimentalStdlibApi inline fun <E> buildSet( capacity: Int, builderAction: MutableSet<E>.() -> Unit ): Set<E>
Создаёт новый неизменяемый Set, заполняя MutableSet с помощью заданного builderAction и возвращая неизменяемый набор с теми же элементами.
Множество, переданное в качестве получателя в builderAction, является допустимым только внутри этой функции. Использование его вне функции приводит к неопределённому поведению.
capacity используется для указания предполагаемого количества элементов, добавляемых в builderAction.
Элементы множества итерируются в порядке их добавления с помощью builderAction.
fun main(args: Array<String>) {
//sampleStart
val x = setOf('a', 'b')
val y = buildSet(x.size + 2) {
add('b')
addAll(x)
add('c')
}
println(y) // [b, a, c]
//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-set.html