Here you can find the source of putIfAbsent(final ConcurrentMap
Parameter | Description |
---|---|
K | a parameter |
V | a parameter |
map | a parameter |
key | a parameter |
value | a parameter |
public static <K, V> V putIfAbsent(final ConcurrentMap<K, V> map, final K key, final V value)
//package com.java2s; /*/*w w w .ja va2 s . c om*/ * Copyright 2015-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ import java.util.concurrent.ConcurrentMap; public class Main { /** * @param <K> * @param <V> * @param map * @param key * @param value * @return * @see ConcurrentHashMap#putIfAbsent(Object, Object) */ public static <K, V> V putIfAbsent(final ConcurrentMap<K, V> map, final K key, final V value) { V exists = map.putIfAbsent(key, value); if (exists != null) { return exists; } return value; } }