Spec-Zone.ru › Kotlin 1.4

buildSet

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

Spec-Zone.ru

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