언어

IConcurrentMap.IMap.ComputeIfAbsent(Object, IFunction) 메서드

정의

지정된 키가 값과 아직 연결되지 않았거나 null에 매핑된 경우 지정된 매핑 함수를 사용하여 해당 값을 계산하려고 시도하고 null이 아닌 한 이 맵에 입력합니다.

[Android.Runtime.Register("computeIfAbsent", "(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;", "GetComputeIfAbsent_Ljava_lang_Object_Ljava_util_function_Function_Handler:Java.Util.Concurrent.IConcurrentMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)]
override sealed Java.Lang.Object? IMap.ComputeIfAbsent(Java.Lang.Object? key, Java.Util.Functions.IFunction? mappingFunction);
[<Android.Runtime.Register("computeIfAbsent", "(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;", "GetComputeIfAbsent_Ljava_lang_Object_Ljava_util_function_Function_Handler:Java.Util.Concurrent.IConcurrentMap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)>]
abstract member Java.Util.IMap.ComputeIfAbsent : Java.Lang.Object * Java.Util.Functions.IFunction -> Java.Lang.Object
override this.Java.Util.IMap.ComputeIfAbsent : Java.Lang.Object * Java.Util.Functions.IFunction -> Java.Lang.Object

매개 변수

key
Object

지정된 값이 연결될 키

mappingFunction
IFunction

값을 계산하는 매핑 함수

반품

지정된 키와 연결된 현재(기존 또는 계산된) 값이거나, 계산된 값이 null인 경우 null입니다.

구현

특성

설명

지정된 키가 값과 아직 연결되지 않았거나 null에 매핑된 경우 지정된 매핑 함수를 사용하여 해당 값을 계산하려고 시도하고 null이 아닌 한 이 맵에 입력합니다. 매핑 함수가 null을 반환하면 매핑이 기록되지 않습니다. 매핑 함수 자체가 (선택되지 않은) 예외를 throw하면 예외가 다시 throw되고 매핑이 기록되지 않습니다.

1.8에 추가되었습니다.

가장 일반적인 사용법은 다음과 같이 초기 매핑된 값 또는 기억된 결과로 사용되는 새 개체를 생성하는 것입니다.

map.computeIfAbsent(key, k -> new Value(f(k)));

또는 키당 여러 값을 지원하는 다중 값 맵인 Map<K,Collection<V>>를 구현하려면 다음을 수행합니다.

map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);

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

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

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

적용 대상