Spec-Zone.ru › Kotlin 1.4

buildMap

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

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

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

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



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.3), JS (1.3), Native (1.3)
@ExperimentalStdlibApi inline fun <K, V> buildMap(
    capacity: Int, 
    builderAction: MutableMap<K, V>.() -> Unit
): Map<K, V>

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

The map passed as a receiver to the builderAction is valid only inside that function. Using it outside of the function produces an unspecified behavior.

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

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



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 - если заданный Объём отрицательный.

© 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-map.html

Spec-Zone.ru

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