Язык

IConcurrentMap.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.Concurrent.IConcurrentMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)]
override sealed Java.Lang.Object? IMap.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.Concurrent.IConcurrentMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)>]
abstract member Java.Util.IMap.Compute : Java.Lang.Object * Java.Util.Functions.IBiFunction -> Java.Lang.Object
override this.Java.Util.IMap.Compute : Java.Lang.Object * Java.Util.Functions.IBiFunction -> Java.Lang.Object

Параметры

key
Object

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

remappingFunction
IBiFunction

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

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

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

Реализации

Атрибуты

Комментарии

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

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

Например, чтобы создать или добавить msg строки в сопоставление значений:

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

(Слияние методов часто проще использовать для таких целей.)

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

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

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

Java справочные материалы.java.util.concurrent.ConcurrentMap.compute

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

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