Spec-Zone.ru › Kotlin 2

buildSet

kotlin-stdlib/kotlin.collections/buildSet

Начиная с Kotlin: 1.6

inline fun <E> buildSet(builderAction: MutableSet<E>.() -> Unit): Set<E>

Создаёт новый неизменяемый Set, заполняя MutableSet с помощью указанного builderAction и возвращая неизменяемое множество с теми же элементами.

Множество, передаваемое в качестве получателя в builderAction, действительно только внутри этой функции. Использование его за пределами функции приводит к неопределённому поведению.

Элементы множества перебираются в том порядке, в котором они были добавлены с помощью builderAction.

Возвращаемое множество сериализуемо (JVM).

Примеры


fun main() { 
   //sampleStart 
   val x = setOf('a', 'b')

val y = buildSet {
    add('b')
    addAll(x)
    add('c')
}

println(y) // [b, a, c] 
   //sampleEnd
}

inline fun <E> buildSet(capacity: Int, builderAction: MutableSet<E>.() -> Unit): Set<E>

Создаёт новый неизменяемый Set, заполняя MutableSet с помощью указанного builderAction и возвращая неизменяемое множество с теми же элементами.

Множество, передаваемое в качестве получателя в builderAction, действительно только внутри этой функции. Использование его за пределами функции приводит к неопределённому поведению.

capacity используется для указания ожидаемого количества элементов, добавляемых в builderAction.

Элементы множества перебираются в том порядке, в котором они были добавлены с помощью builderAction.

Возвращаемое множество сериализуемо (JVM).

Исключения

IllegalArgumentException

если указанное значение capacity отрицательно.

Примеры


fun main() { 
   //sampleStart 
   val x = setOf('a', 'b')

val y = buildSet(x.size + 2) {
    add('b')
    addAll(x)
    add('c')
}

println(y) // [b, a, c] 
   //sampleEnd
}

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/build-set.html

Spec-Zone.ru

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