Collections synchronizedSet() method in Java with Examples

The synchronizedSet() method of java.util.Collections class is used to return a synchronized (thread-safe) set backed by the specified set. In order to guarantee serial access, it is critical that all access to the backing set is accomplished through the returned set.

Syntax:

public static <T> Set<T>
  synchronizedSet(Set<T> s)

Parameters: This method takes the set as a parameter to be “wrapped” in a synchronized set.



Return Value: This method returns a synchronized view of the specified set.

Below are the examples to illustrate the synchronizedSet() method

Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// synchronizedSet() method
// for String Value
  
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
        throws Exception
    {
  
        try {
  
            // creating object of Set<String>
            Set<String> set = new HashSet<String>();
  
            // populate the set
            set.add("1");
            set.add("2");
            set.add("3");
  
            // printing the Collection
            System.out.println("Set : " + set);
  
            // create a synchronized set
            Set<String>
                synset = Collections.synchronizedSet(set);
  
            // printing the set
            System.out.println("Synchronized set is : "
                               + synset);
        }
  
        catch (IllegalArgumentException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}

chevron_right


Output:

Set : [1, 2, 3]
Synchronized set is : [1, 2, 3]

Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate
// synchronizedSet() method
// for Integer Value
  
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
        throws Exception
    {
  
        try {
  
            // creating object of Set<Integer>
            Set<Integer> set = new HashSet<Integer>();
  
            // populate the set
            set.add(100);
            set.add(200);
            set.add(300);
  
            // printing the Collection
            System.out.println("Set : " + set);
  
            // create a synchronized set
            Set<Integer>
                synset = Collections.synchronizedSet(set);
  
            // printing the set
            System.out.println("Synchronized set is : "
                               + synset);
        }
  
        catch (IllegalArgumentException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}

chevron_right


Output:

Set : [100, 200, 300]
Synchronized set is : [100, 200, 300]


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.