Spec-Zone.ru › Kotlin 1.6

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>

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

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

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

Возвращаемый набор сериализуем (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>

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

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

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

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

Возвращаемый набор сериализуем (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 - если заданный capacity отрицательный.

© 2010–2022 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