In java.util.Collections class, synchronizedSet() method is used to return a synchronized (thread-safe) set backed by the specified set. This method takes the TreeSet as a parameter. To guarantee serial access, it is critical that all access to the backing set is accomplished through the returned set. We have Java TreeSet, our task is to get a synchronized set from it. For this, use synchronizedSet method of the Collections class.
Example:
Input : HashSet = [3, 4, 5] Output: synchronizedSet = [3, 4, 5] Input : HashSet = ['A', 'B', 'C'] Output: synchronizedSet = ['A', 'B', 'C']
Syntax:
public static <T> Set<T> synchronizedSet(Set<T> s)
Parameters: TreeSet as a parameter to be “wrapped” in a synchronized set.
Return Value:
Synchronized view of the specified set.
Approach:
- Create a TreeSet.
- Add some elements in the TreeSet.
- Create a Set variable and assign it with the Collections.synchronizedSet() method.
- Print the new synchronized Set.
Below is the implementation of the above approach:
Java
// Java program to get synchronized // set from given tree set import java.util.Collections; import java.util.Set; import java.util.TreeSet; class GFG { public static void main(String[] args) { TreeSet<Integer> treeSet = new TreeSet<Integer>(); // Elements are added using add() method treeSet.add( 48 ); treeSet.add( 49 ); treeSet.add( 59 ); treeSet.add( 38 ); System.out.println( "TreeSet : " +treeSet); // converting tree set to synchronized set Set set = Collections.synchronizedSet(treeSet); System.out.println( "SynchronizedSet : " +set); } } |
TreeSet : [38, 48, 49, 59] SynchronizedSet : [38, 48, 49, 59]