Open In App

AbstractSet retainAll() method in Java with Example

Improve
Improve
Like Article
Like
Save
Share
Report

The retainAll() method of java.util.AbstractSet 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.*;
  
public class GFG1 {
    public static void main(String[] argv) throws Exception
    {
  
        try {
  
            // Creating object of AbstractSet<Integer>
            AbstractSet<Integer>
                arrset1 = new TreeSet<Integer>();
  
            // Populating arrset1
            arrset1.add(1);
            arrset1.add(2);
            arrset1.add(3);
            arrset1.add(4);
            arrset1.add(5);
  
            // print arrset1
            System.out.println("AbstractSet before "
                               + "retainAll() operation : "
                               + arrset1);
  
            // Creating another object of  AbstractSet<Integer>
            AbstractSet<Integer>
                arrset2 = new TreeSet<Integer>();
            arrset2.add(1);
            arrset2.add(2);
            arrset2.add(3);
  
            // print arrset2
            System.out.println("Collection Elements"
                               + " to be retained : "
                               + arrset2);
  
            // Removing elements from arrset
            // specified in arrset2
            // using retainAll() method
            arrset1.retainAll(arrset2);
  
            // print arrset1
            System.out.println("AbstractSet after "
                               + "retainAll() operation : "
                               + arrset1);
        }
  
        catch (NullPointerException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}


Output:

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

Example 2: For NullPointerException




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


Output:

AbstractSet 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


Last Updated : 24 Dec, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads