Collections
Get Synchronized Map example
With this example we are going to demonstrate how to get a synchronized Map. We are using a HashMAp as example, but the same API applies to any type of Map implementation class e.g. TreeMap etc. The Collections API provides methods that return synchronized (thread-safe) collections (Lists, Sets, Maps). In short, to get a synchronized Map you should:
- Create a new HashMap.
- Populate the map with elements, using the
put(K key, V value)API method of the HashMap. - Invoke the
synchronizedMap(Map map)API method of Collections. It returns a synchronized Map from the provided HashMap.
Let’s take a look at the code snippet that follows:
package com.javacodegeeks.snippets.core;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
public class SynchronizedMapExample {
public static void main(String[] args) {
/*
Please note that the same API applies to any type of
Map implementation class e.g. TreeMap etc
*/
// Create HashMap and populate it with elements
HashMap hashMap = new HashMap();
hashMap.put("key_1","value_1");
hashMap.put("key_2","value_2");
hashMap.put("key_3","value_3");
// static void synchronizedMap(Map map) method returns a synchronized Map from the provided HashMap
Map syncMap = Collections.synchronizedMap(hashMap);
System.out.println("syncMap contains : " + syncMap);
}
}
Output:
syncMap contains : {key_3=value_3, key_2=value_2, key_1=value_1}
This was an example of how to get a synchronized Map in Java.

