Java Collections synchronizedMap() Method
Description
The Java Collections synchronizedMap() method is used to return a synchronized (thread-safe) map backed by the specified map.
Declaration
Following is the declaration for java.util.Collections.synchronizedMap() method.
public static <K,V> Map<K,V> synchronizedMap(Map<K,V> m)
Parameters
m − This is the map to be "wrapped" in a synchronized map.
Return Value
The method call returns a synchronized view of the specified map.
Exception
NA
Getting Synchronized Map From a Unsynchronized Map of String, Integer Pair Example
The following example shows the usage of Java Collection synchronizedMap(Map) method. We've created a Map object of String and Integer pairs. Few entries are added and then using synchronizedMap(Map) method, we've retrieved the synchronized version of map and printed the map.
package com.tutorialspoint;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
public class CollectionsDemo {
public static void main(String[] args) {
// create map
Map<String,Integer> map = new HashMap<String,Integer>();
// populate the map
map.put("1",1);
map.put("2",2);
map.put("3",3);
// create a synchronized map
Map<String,Integer> synmap = Collections.synchronizedMap(map);
System.out.println("Synchronized map is :"+synmap);
}
}
Output
Let us compile and run the above program, this will produce the following result.
Synchronized map is :{1=1, 2=2, 3=3}
Getting Synchronized Map From a Unsynchronized Map of String, String Pair Example
The following example shows the usage of Java Collection synchronizedMap(Map) method. We've created a Map object of String and String pairs. Few entries are added and then using synchronizedMap(Map) method, we've retrieved the synchronized version of map and printed the map.
package com.tutorialspoint;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
public class CollectionsDemo {
public static void main(String[] args) {
// create map
Map<String,String> map = new HashMap<String,String>();
// populate the map
map.put("1","TP");
map.put("2","IS");
map.put("3","BEST");
// create a synchronized map
Map<String,String> synmap = Collections.synchronizedMap(map);
System.out.println("Synchronized map is :"+synmap);
}
}
Output
Let us compile and run the above program, this will produce the following result.
Synchronized map is :{1=TP, 2=IS, 3=BEST}
Getting Synchronized Map From a Unsynchronized Map of String, Object Pair Example
The following example shows the usage of Java Collection synchronizedMap(Map) method. We've created a Map object of String and Student pairs. Few entries are added and then using synchronizedMap(Map) method, we've retrieved the synchronized version of map and printed the map.
package com.tutorialspoint;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
public class CollectionsDemo {
public static void main(String[] args) {
// create map
Map<String,Student> map = new HashMap<String,Student>();
// populate the map
map.put("1",new Student(1, "Julie"));
map.put("2",new Student(2, "Robert"));
map.put("3",new Student(3, "Adam"));
// create a synchronized map
Map<String,Student> synmap = Collections.synchronizedMap(map);
System.out.println("Synchronized map is :"+synmap);
}
}
class Student {
int rollNo;
String name;
Student(int rollNo, String name){
this.rollNo = rollNo;
this.name = name;
}
@Override
public String toString() {
return "[ " + this.rollNo + ", " + this.name + " ]";
}
}
Output
Let us compile and run the above program, this will produce the following result.
Synchronized map is :{1=[ 1, Julie ], 2=[ 2, Robert ], 3=[ 3, Adam ]}