Spec-Zone.ru › Kotlin 1.7

buildMap

kotlin-stdlib / kotlin.collections / buildMap
Требования к платформе и версии: JVM (1.6), JS (1.6), Native (1.6)
inline fun <K, V> buildMap(
    builderAction: MutableMap<K, V>.() -> Unit
): Map<K, V>

Создаёт новую неизменяемую Map, заполняя MutableMap с помощью заданного builderAction и возвращая неизменяемую карту с теми же парами ключ-значение.

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

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

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



fun main(args: Array<String>) {
//sampleStart
val x = mapOf('b' to 2, 'c' to 3)

val y = buildMap<Char, Int>(x.size + 2) {
    put('a', 1)
    put('c', 0)
    putAll(x)
    put('d', 4)
}

println(y) // {a=1, c=3, b=2, d=4}
//sampleEnd
}
Требования к платформе и версии: JVM (1.6), JS (1.6), Native (1.6)
inline fun <K, V> buildMap(
    capacity: Int, 
    builderAction: MutableMap<K, V>.() -> Unit
): Map<K, V>

Создаёт новую неизменяемую Map, заполняя MutableMap с помощью заданного builderAction и возвращая неизменяемую карту с теми же парами ключ-значение.

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

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

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

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



fun main(args: Array<String>) {
//sampleStart
val x = mapOf('b' to 2, 'c' to 3)

val y = buildMap<Char, Int>(x.size + 2) {
    put('a', 1)
    put('c', 0)
    putAll(x)
    put('d', 4)
}

println(y) // {a=1, c=3, b=2, d=4}
//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-map.html

Spec-Zone.ru

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