Поделиться через


IMap.Compute(Object, IBiFunction) Метод

Определение

Пытается вычислить сопоставление для указанного ключа и его текущего сопоставленного значения (или null если текущее сопоставление отсутствует).

[Android.Runtime.Register("compute", "(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;", "GetCompute_Ljava_lang_Object_Ljava_util_function_BiFunction_Handler:Java.Util.IMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)]
public virtual Java.Lang.Object? Compute (Java.Lang.Object? key, Java.Util.Functions.IBiFunction remappingFunction);
[<Android.Runtime.Register("compute", "(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;", "GetCompute_Ljava_lang_Object_Ljava_util_function_BiFunction_Handler:Java.Util.IMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)>]
abstract member Compute : Java.Lang.Object * Java.Util.Functions.IBiFunction -> Java.Lang.Object
override this.Compute : Java.Lang.Object * Java.Util.Functions.IBiFunction -> Java.Lang.Object

Параметры

key
Object

ключ, с которым необходимо связать указанное значение

remappingFunction
IBiFunction

переназначаемая функция для вычисления значения

Возвращаемое значение

новое значение, связанное с указанным ключом, или null, если нет

Атрибуты

Комментарии

Пытается вычислить сопоставление для указанного ключа и его текущего сопоставленного значения (или null если текущее сопоставление отсутствует). Например, чтобы создать или добавить String msg в сопоставление значений:

{@code
            map.compute(key, (k, v) -> (v == null) ? msg : v.concat(msg))}

(Метод #merge merge() часто проще использовать для таких целей.)

Если функция повторного сопоставления возвращается null, сопоставление удаляется (или остается отсутствующим при первоначальном отсутствии). Если функция переназначивания вызывает исключение (снято), исключение повторно выполняется, а текущее сопоставление остается неизменным.

Функция повторного сопоставления не должна изменять эту карту во время вычислений.

Добавлено в версии 1.8.

Документация по Java для java.util.Map.compute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к