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:
Java
Java
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:
Example 2:
List : [A, B, C, D, E] Synchronized list is : [A, B, C, D, E]
// 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]