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 program to demonstrate synchronizedCollection() // 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> 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 program to demonstrate synchronizedCollection() // method for Integer Value import 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]