Collections synchronizedList() method in Java with Examples

The synchronizedList() method of java.util.Collections class is used to return 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.
Syntax:
public static <T> List<T> synchronizedList(List<T> list)
Parameters: This method takes the list as a parameter to be “wrapped” in a synchronized list.
Return Value: This method returns a synchronized view of the specified list.
Below are the examples to illustrate the synchronizedList() method
Example 1:
// Java program to demonstrate// synchronizedList() method for String Value import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { // creating object of List<String> List<String> list = new ArrayList<String>(); // populate the list list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E"); // printing the Collection System.out.println("List : " + list); // create a synchronized list List<String> synlist = Collections .synchronizedList(list); // printing the Collection System.out.println("Synchronized list is : " + synlist); } catch (IllegalArgumentException e) { System.out.println("Exception thrown : " + e); } }} |
Output:
List : [A, B, C, D, E] Synchronized list is : [A, B, C, D, E]
Example 2:
// Java program to demonstrate// synchronizedList() method for Integer Value import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { // creating object of List<Integer> List<Integer> list = new ArrayList<Integer>(); // populate the list list.add(20); list.add(30); list.add(40); list.add(50); list.add(60); // printing the Collection System.out.println("List : " + list); // create a synchronized list List<Integer> synlist = Collections .synchronizedList(list); // printing the Collection System.out.println("Synchronized list is : " + synlist); } catch (IllegalArgumentException e) { System.out.println("Exception thrown : " + e); } }} |
Output:
List : [20, 30, 40, 50, 60] Synchronized list is : [20, 30, 40, 50, 60]



