IConcurrentMap.IMap.ComputeIfAbsent(Object, IFunction) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 키가 값과 아직 연결되지 않았거나 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 참조
이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.