A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.geeksforgeeks.org/java/concurrenthashmap-putifabsent-method-in-java/ below:

ConcurrentHashMap putIfAbsent() Method in Java

ConcurrentHashMap putIfAbsent() Method in Java

Last Updated : 17 Sep, 2018

The

java.util.concurrent.ConcurrentHashMap.putIfAbsent()

is an in-built function in Java which accepts a key and a value as parameters and maps them if the specified key is not mapped to any value.

Syntax:
chm.putIfAbsent(key_elem, val_elem)
Parameters:

The function accepts two parameters which are described below:

Return Value:

The function returns the existing value mapped to the key and returns null if no value is previously mapped to the key.

Exception:

The function throws

NullPointerException

when the specified parameters are null. Below programs illustrate the ConcurrentHashMap.putIfAbsent() method :

Program 1:

An existing key is passed as parameter to the function.

Java
// Java Program Demonstrate putIfAbsent()
// method of ConcurrentHashMap 

import java.util.concurrent.*;

class ConcurrentHashMapDemo {
    public static void main(String[] args)
    {
        ConcurrentHashMap<Integer, String> chm = 
                     new ConcurrentHashMap<Integer, String>();

        chm.put(100, "Geeks");
        chm.put(101, "for");
        chm.put(102, "Geeks");
        chm.put(103, "Gfg");
        chm.put(104, "GFG");

        // Displaying the HashMap
        System.out.println("Initial Mappings are: "
                           + chm);

        // Inserting non-existing key along with value
        String returned_value = (String)chm.putIfAbsent(108, "All");

        // Verifying the returned value
        System.out.println("Returned value is: "
                           + returned_value);

        // Displayin the new map
        System.out.println("New mappings are: "
                           + chm);
    }
}
Output:
Initial Mappings are: {100=Geeks, 101=for, 102=Geeks, 103=Gfg, 104=GFG}
Returned value is: null
New mappings are: {100=Geeks, 101=for, 102=Geeks, 103=Gfg, 104=GFG, 108=All}
Program 2:

A non-existing key is passed as parameter to the function.

Java
// Java Program Demonstrate putIfAbsent()
// method of ConcurrentHashMap 

import java.util.concurrent.*;
class ConcurrentHashMapDemo {
    public static void main(String[] args)
    {
        ConcurrentHashMap<Integer, String> chm = 
                          new ConcurrentHashMap<Integer, String>();

        chm.put(100, "Geeks");
        chm.put(101, "for");
        chm.put(102, "Geeks");
        chm.put(103, "Gfg");
        chm.put(104, "GFG");

        // Displaying the HashMap
        System.out.println("Initial Mappings are: "
                           + chm);

        // Inserting existing key along with value
        String returned_value = (String)chm.putIfAbsent(100, "All");

        // Verifying the returned value
        System.out.println("Returned value is: "
                           + returned_value);

        // Displayin the new map
        System.out.println("New mappings are: "
                           + chm);
    }
}
Output:
Initial Mappings are: {100=Geeks, 101=for, 102=Geeks, 103=Gfg, 104=GFG}
Returned value is: Geeks
New mappings are: {100=Geeks, 101=for, 102=Geeks, 103=Gfg, 104=GFG}
Reference

:

https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentHashMap.html#putIfAbsent()

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4