The retainAll() method of java.util.TreeSet 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 TreeSet<Integer>             TreeSet<Integer>                 set1 = new TreeSet<Integer>();               // Populating set1             set1.add( 1 );             set1.add( 2 );             set1.add( 3 );             set1.add( 4 );             set1.add( 5 );               // print set1             System.out.println( "TreeSet before "                                + "retainAll() operation : "                                + set1);               // Creating another object of TreeSet<Integer>             TreeSet<Integer>                 set2 = new TreeSet<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( "TreeSet after "                                + "retainAll() operation : "                                + set1);         }           catch (NullPointerException e) {             System.out.println( "Exception thrown : " + e);         }     } } |
TreeSet before retainAll() operation : [1, 2, 3, 4, 5] Collection Elements to be retained : [1, 2, 3] TreeSet 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 TreeSet<Integer>             TreeSet<Integer>                 set1 = new TreeSet<Integer>();               // Populating set1             set1.add( 1 );             set1.add( 2 );             set1.add( 3 );             set1.add( 4 );             set1.add( 5 );               // print set1             System.out.println( "TreeSet before "                                + "retainAll() operation : "                                + set1);               // Creating another object of TreeSet<Integer>             TreeSet<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( "TreeSet after "                                + "retainAll() operation : "                                + set1);         }           catch (NullPointerException e) {             System.out.println( "Exception thrown : " + e);         }     } } |
TreeSet 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