언어

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입니다.

구현

특성

설명

지정된 키와 현재 매핑된 값에 대한 매핑을 계산하려고 시도합니다(또는 현재 매핑이 없는 경우 null).

1.8에 추가되었습니다.

예를 들어 문자열 msg를 만들거나 값 매핑에 추가하려면 다음을 수행합니다.

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

(메서드 병합()은 이러한 용도로 사용하기가 더 간단한 경우가 많습니다.

다시 매핑 함수가 null을 반환하면 매핑이 제거되거나 처음에 없는 경우 없는 상태로 유지됩니다.

다시 매핑 함수 자체가 (선택되지 않은) 예외를 throw하면 예외가 다시 throw되고 현재 매핑은 변경되지 않은 상태로 유지됩니다.

다시 매핑 함수는 계산 중에 이 맵을 수정해서는 안 됩니다.

에 대한 java.util.concurrent.ConcurrentMap.computeJava 참조

이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.

적용 대상