ConcurrentHashMap containsValue() Method in Java
The containsValue() method in Java’s ConcurrentHashMap class is used to determine whether the map contains a given value. It has the following signature:
boolean containsValue(Object value)
- value is the value to be searched for in the map.
- The containsValue() method works in a concurrent environment, which means that it can be called from multiple threads
- without causing any data race or synchronization issues.
When a containsValue() operation is performed, the method first acquires the lock on all the segments of the map and then searches for the given value in the values of all the entries in the map. If the value is found in any of the entries, the method returns true. Otherwise, it returns false.
Here is an example of using the containsValue() method:
Map contains value 30: true Map contains value 40: false
In this example, we first create a ConcurrentHashMap and add three key-value pairs to it using the put() method.
Next, we perform a containsValue() operation to check if the value 30 is present in the map. The method returns true, and we print out the result.
Finally, we perform a containsValue() operation to check if the value 40 is present in the map. The method returns false, and we print out the result.
The java.util.concurrent.ConcurrentHashMap.containsValue() method is an in-built function in Java that accepts a value and returns true if one or more keys are mapped to the specified value. This method traverses the entire hashtable. Thus it is a much slower function than containsKey() method.
Parameters: The method accepts a single parameter val_element of an object type which is to be checked for whether it is mapped to any key in the map or not.
Return Value: The method returns true if the specified val_element is mapped to any key in this map and false otherwise.
Exception: The function throws NullPointerException when the specified value_element is null.
The below programs illustrate the use of java.util.concurrent.ConcurrentHashMap.containsValue() method:
Program 1: This program involves mapping Integer Values to String Keys.
100 is not mapped. 120 is mapped.
Program 2: This program involves mapping String Values to Integer Keys.
Geeks is mapped. GfG is not mapped.
Please Login to comment...