Java ConcurrentMap putIfAbsent(ConcurrentMap target, K key, V value)

Here you can find the source of putIfAbsent(ConcurrentMap target, K key, V value)

Description

put If Absent

License

Apache License

Declaration

public static <K, V> V putIfAbsent(ConcurrentMap<K, V> target, K key,
            V value) 

Method Source Code

//package com.java2s;
/*//from  w ww  .  j ava 2s. c  o m
 * Copyright 2007-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 {
    public static <K, V> V putIfAbsent(ConcurrentMap<K, V> target, K key,
            V value) {
        V _value = target.get(key);
        if (_value != null) {
            V _previous = target.putIfAbsent(key, _value);
            if (_previous != null) {
                _value = _previous;
            }
        }
        return _value;
    }
}

Related

  1. is(Class clazz, Collection> clazzes, ConcurrentMap, Boolean> cache)
  2. isClassClass(Class clazz)
  3. putIfAbsent(ConcurrentMap map, K key, V value)
  4. putIfAbsent(ConcurrentMap map, K key, V value)
  5. putIfAbsent(ConcurrentMap map, K key, V value)
  6. putIfAbsent(final ConcurrentMap map, final K key, final V value)
  7. putIfAbsentAndGet(ConcurrentMap map, K key, V newValue)
  8. remove(ConcurrentMap map, K key, V value)
  9. remove(K key, ConcurrentMap map, Object value)