The synchronizedMap() method of java.util.Collections class is used to return a synchronized (thread-safe) map backed by the specified map. In order to guarantee serial access, it is critical that all access to the backing map is accomplished through the returned map.
Syntax:
public static <K, V> Map<K, V> synchronizedMap(Map<K, V> m)
Parameters: This method takes the map as a parameter to be “wrapped” in a synchronized map.
Return Value: This method returns a synchronized view of the specified map.
Below are the examples to illustrate the synchronizedMap() method.
Example 1:
// Java program to demonstrate // synchronizedMap() method // for <String, String> Value import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { // creating object of Map<String, String> Map<String, String> map = new HashMap<String, String>(); // populate the map map.put( "Value1" , "20" ); map.put( "Value2" , "30" ); map.put( "Value3" , "40" ); // printing the Collection System.out.println( "Map : " + map); // create a synchronized map Map<String, String> synmap = Collections.synchronizedMap(map); // printing the Collection System.out.println( "Synchronized map is : " + synmap); } catch (IllegalArgumentException e) { System.out.println( "Exception thrown : " + e); } } } |
Map : {Value3=40, Value1=20, Value2=30} Synchronized map is : {Value3=40, Value1=20, Value2=30}
Example 2:
// Java program to demonstrate // synchronizedMap() method // for <String, Boolean> Value import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { // creating object of Map<String, Boolean> Map<String, Boolean> map = new HashMap<String, Boolean>(); // populate the map map.put( "Bramha" , true ); map.put( "Vishnu" , true ); map.put( "Mahesh" , true ); // printing the Collection System.out.println( "Map : " + map); // create a synchronized map Map<String, Boolean> synmap = Collections.synchronizedMap(map); // printing the Collection System.out.println( "Synchronized map is : " + synmap); } catch (IllegalArgumentException e) { System.out.println( "Exception thrown : " + e); } } } |
Map : {Bramha=true, Vishnu=true, Mahesh=true} Synchronized map is : {Bramha=true, Vishnu=true, Mahesh=true}