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:
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
NullPointerExceptionwhen 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