Spec-Zone.ru › Kotlin 1.9

buildSet

kotlin-stdlib / kotlin.collections / buildSet
Требования к платформе и версии: JVM (1.6), JS (1.6), Native (1.6)
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
}
Требования к платформе и версии: JVM (1.6), JS (1.6), Native (1.6)
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API