Open In App
Related Articles

Collections synchronizedMap() method in Java with Examples

Improve Article
Improve
Save Article
Save
Like Article
Like

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);
        }
    }
}


Output:

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);
        }
    }
}


Output:

Map : {Bramha=true, Vishnu=true, Mahesh=true}
Synchronized map is : {Bramha=true, Vishnu=true, Mahesh=true}

Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 06 May, 2020
Like Article
Save Article
Previous
Next
Similar Reads
Complete Tutorials