The synchronizedCollection() method of java.util.Collections class is used to return a synchronized (thread-safe) collection backed by the specified collection. In order to guarantee serial access, it is critical that all access to the backing collection is accomplished through the returned collection.
Syntax:
public static <T> Collection<T> synchronizedCollection(Collection<T> c)
Parameters: This method takes the collection c as a parameter to be “wrapped” in a synchronized collection.
Return Value: This method returns a synchronized view of the specified collection.
Below are the examples to illustrate the synchronizedCollection() method
Example 1:
Java
// Java program to demonstrate synchronizedCollection()// method for String Valueimport java.util.*;public class GFG1 { public static void main(String[] argv) throws Exception { try { // creating object of List<String> List<String> vector = new ArrayList<String>(); // populate the vector vector.add("A"); vector.add("B"); vector.add("C"); vector.add("D"); vector.add("E"); // printing the Collection System.out.println("Collection : " + vector); // getting the synchronized view of Collection Collection<String> c = Collections .synchronizedCollection(vector); // printing the Collection System.out.println("Synchronized view" + " of collection : " + c); } catch (IndexOutOfBoundsException e) { System.out.println("Exception thrown : " + e); } }} |
Collection : [A, B, C, D, E] Synchronized view of collection : [A, B, C, D, E]
Example 2:
Java
// Java program to demonstrate synchronizedCollection()// method for Integer Valueimport java.util.*;public class GFG1 { public static void main(String[] argv) throws Exception { try { // creating object of List<String> List<Integer> vector = new ArrayList<Integer>(); // populate the vector vector.add(20); vector.add(30); vector.add(40); vector.add(50); vector.add(60); // printing the Collection System.out.println("Collection : " + vector); // getting the synchronized view of Collection Collection<Integer> c = Collections .synchronizedCollection(vector); // printing the Collection System.out.println("Synchronized view is : " + c); } catch (IllegalArgumentException e) { System.out.println("Exception thrown : " + e); } }} |
Collection : [20, 30, 40, 50, 60] Synchronized view is : [20, 30, 40, 50, 60]
