
Java Collection Framework is one of the most used section. There are more than 100 APIs are available for us to use at fingertips.
synchronizedMap() returns a synchronized (thread-safe) map backed by the specified map and we will use one more API synchronizedList().
If you have any of below questions then you are at right place:
- Get Synchronized List from ArrayList example
- How do I synchronize a collection?
- How do I synchronize a List or other Collection in Java
- Collections.synchronizedList and synchronized
- java.util.Collections.synchronizedMap() Method Example
- Java Thread Synchronization Tutorial
In this Java example I’ll show how to Synchronized Map and List. We will be using synchronizedMap() method is used to return a synchronized (thread-safe) map backed by the specified map and the same way synchronizedList().
Let’s use List in description. The Collections class provides us with synchronizedList(List list) API method, that returns a synchronized (thread-safe) list from the provided ArrayList.
Here are the detailed Steps:
- Create an ArrayList
- Populate the arrayList with elements, with add(E e) API method of ArrayList
- Invoke the synchronizedList(List list) API method of Collections to get the synchronized list from the provided ArrayList
Let’s take a look at the code snippet:
package com.crunchify.tutorials;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author Crunchify.com
*
*/
public class CrunchifySynchronizedListFromArrayList {
public static void main(String[] args) {
// ********************** synchronizedList ************************
ArrayList<String> crunchifyArrayList = new ArrayList<String>();
// populate the crunchifyArrayList
crunchifyArrayList.add("eBay");
crunchifyArrayList.add("Paypal");
crunchifyArrayList.add("Google");
crunchifyArrayList.add("Yahoo");
// Returns a synchronized (thread-safe) list backed by the specified
// list. In order to guarantee serial access, it is critical that all
// access to the backing list is accomplished through the returned list.
List<String> synchronizedList = Collections.synchronizedList(crunchifyArrayList);
System.out.println("synchronizedList conatins : " + synchronizedList);
// ********************** synchronizedMap ************************
Map<String, String> crunchifyMap = new HashMap<String, String>();
// populate the crunchifyMap
crunchifyMap.put("1", "eBay");
crunchifyMap.put("2", "Paypal");
crunchifyMap.put("3", "Google");
crunchifyMap.put("4", "Yahoo");
// create a synchronized map
Map<String, String> synchronizedMap = Collections.synchronizedMap(crunchifyMap);
System.out.println("synchronizedMap contains : " + synchronizedMap);
}
}
Eclipse Console Result:
synchronizedList conatins : [eBay, Paypal, Google, Yahoo]
synchronizedMap contains : {3=Google, 2=Paypal, 1=eBay, 4=Yahoo}
