Thursday, October 16, 2025
HomeLanguagesJavaCopyOnWriteArraySet retainAll() method in Java with Example

CopyOnWriteArraySet retainAll() method in Java with Example

The retainAll() method of java.util.concurrent.CopyOnWriteArraySet class is used to retain from this set all of its elements that are contained in the specified collection.

Syntax:

public boolean retainAll(Collection c)

Parameters: This method takes collection c as a parameter containing elements to be retained from this set.

Returns Value: This method returns true if this set changed as a result of the call.

Exception: This method throws NullPointerException if this set contains a null element and the specified collection does not permit null elements (optional), or if the specified collection is null.

Below are the examples to illustrate the retainAll() method.

Example 1:




// Java program to demonstrate
// retainAll() method for Integer value
  
import java.util.concurrent.*;
  
public class GFG1 {
    public static void main(String[] argv) throws Exception
    {
  
        try {
  
            // Creating object of CopyOnWriteArraySet<Integer>
            CopyOnWriteArraySet<Integer>
                set1 = new CopyOnWriteArraySet<Integer>();
  
            // Populating set1
            set1.add(1);
            set1.add(2);
            set1.add(3);
            set1.add(4);
            set1.add(5);
  
            // print set1
            System.out.println("CopyOnWriteArraySet before "
                               + "retainAll() operation : "
                               + set1);
  
            // Creating another object of  CopyOnWriteArraySet<Integer>
            CopyOnWriteArraySet<Integer>
                set2 = new CopyOnWriteArraySet<Integer>();
            set2.add(1);
            set2.add(2);
            set2.add(3);
  
            // print set2
            System.out.println("Collection Elements"
                               + " to be retained : "
                               + set2);
  
            // Removing elements from set
            // specified in set2
            // using retainAll() method
            set1.retainAll(set2);
  
            // print set1
            System.out.println("CopyOnWriteArraySet after "
                               + "retainAll() operation : "
                               + set1);
        }
  
        catch (NullPointerException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}


Output:

CopyOnWriteArraySet before retainAll() operation : [1, 2, 3, 4, 5]
Collection Elements to be retained : [1, 2, 3]
CopyOnWriteArraySet after retainAll() operation : [1, 2, 3]

Example 2: For NullPointerException




// Java program to demonstrate
// retainAll() method for Integer value
  
import java.util.concurrent.*;
  
public class GFG1 {
    public static void main(String[] argv) throws Exception
    {
  
        try {
  
            // Creating object of CopyOnWriteArraySet<Integer>
            CopyOnWriteArraySet<Integer>
                set1 = new CopyOnWriteArraySet<Integer>();
  
            // Populating set1
            set1.add(1);
            set1.add(2);
            set1.add(3);
            set1.add(4);
            set1.add(5);
  
            // print set1
            System.out.println("CopyOnWriteArraySet before "
                               + "retainAll() operation : "
                               + set1);
  
            // Creating another object of  CopyOnWriteArraySet<Integer>
            CopyOnWriteArraySet<Integer>
                set2 = null;
  
            // print set2
            System.out.println("Collection Elements"
                               + " to be retained : "
                               + set2);
  
            System.out.println("\nTrying to pass "
                               + "null as a specified element\n");
  
            // Removing elements from set
            // specified in set2
            // using retainAll() method
            set1.retainAll(set2);
  
            // print set1
            System.out.println("CopyOnWriteArraySet after "
                               + "retainAll() operation : "
                               + set1);
        }
  
        catch (NullPointerException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}


Output:

CopyOnWriteArraySet before retainAll() operation : [1, 2, 3, 4, 5]
Collection Elements to be retained : null

Trying to pass null as a specified element

Exception thrown : java.lang.NullPointerException
RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS