buildSet
inline fun <E> buildSet( builderAction: MutableSet<E>.() -> Unit ): Set<E>
Создаёт новый неизменяемый множество, заполняя изменяемое множество с помощью заданного блока кода и возвращая неизменяемое множество с теми же элементами.
Множество, переданное в качестве получателя в блоке кода, является валидным только внутри этого блока. Его использование вне блока приводит к неопределённому поведению.
Элементы множества итерируются в порядке, в котором они были добавлены блоком кода.
Возвращаемое множество сериализуемо (JVM).
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
}inline fun <E> buildSet( capacity: Int, builderAction: MutableSet<E>.() -> Unit ): Set<E>
Создаёт новое неизменяемое множество, заполняя изменяемое множество с помощью заданного блока кода и возвращая неизменяемое множество с теми же элементами.
Множество, переданное в качестве получателя в блоке кода, является валидным только внутри этого блока. Его использование вне блока приводит к неопределённому поведению.
ёмкость используется для указания ожидаемого числа элементов, добавляемых в блоке кода.
Элементы множества итерируются в порядке, в котором они были добавлены блоком кода.
Возвращаемое множество сериализуемо (JVM).
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 - если заданная ёмкость отрицательная.
© 2010–2023 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