mergeValue

expect inline fun <K, V> MutableMap<K, V>.mergeValue(key: K, value: V & Any, crossinline remapping: (V & Any, V & Any) -> V?): V?(source)

由平台实现的 MutableMap merge 操作。

提供 keyvalue,如果 map 中不存在 key 对应的值,则存入此键值对。 如果存在与 key 冲突的记录,通过 remapping 函数通过当前值和旧值计算新值。 当计算新值不为 null 时存入新值,否则移除旧值。

在 JVM 平台中,会被委托给 java.util.Map.merge, 其他平台会有相应的实现,但是可能无法保证原子操作。

actual inline fun <K, V> MutableMap<K, V>.mergeValue(key: K, value: V & Any, remapping: (V & Any, V & Any) -> V?): V?(source)

由平台实现的 MutableMap merge 操作。

提供 keyvalue,如果 map 中不存在 key 对应的值,则存入此键值对。 如果存在与 key 冲突的记录,通过 remapping 函数计算新值。 当计算新值不为 null 时存入新值,否则移除旧值。

actual inline fun <K, V> MutableMap<K, V>.mergeValue(key: K, value: V & Any, crossinline remapping: (V & Any, V & Any) -> V?): V?(source)

由平台实现的 MutableMap merge 操作。

提供 keyvalue,如果 map 中不存在 key 对应的值,则存入此键值对。 如果存在与 key 冲突的记录,通过 remapping 函数计算新值。 当计算新值不为 null 时存入新值,否则移除旧值。

在 JVM 平台中,会被委托给 java.util.Map.merge, 其他平台会有相应的实现,但是可能无法保证原子操作。

actual inline fun <K, V> MutableMap<K, V>.mergeValue(key: K, value: V & Any, crossinline remapping: (V & Any, V & Any) -> V?): V?(source)

由平台实现的 MutableMap merge 操作。

提供 keyvalue,如果 map 中不存在 key 对应的值,则存入此键值对。 如果存在与 key 冲突的记录,通过 remapping 函数计算新值。 当计算新值不为 null 时存入新值,否则移除旧值。

无法保证原子操作。

actual inline fun <K, V> MutableMap<K, V>.mergeValue(key: K, value: V & Any, remapping: (V & Any, V & Any) -> V?): V?(source)

由平台实现的 MutableMap merge 操作。

提供 keyvalue,如果 map 中不存在 key 对应的值,则存入此键值对。 如果存在与 key 冲突的记录,通过 remapping 函数计算新值。 当计算新值不为 null 时存入新值,否则移除旧值。