The retainAll() method of java.util.Set interface 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.
Return 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:
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
Set<Integer> arrset1 = new HashSet<Integer>();
arrset1.add( 1 );
arrset1.add( 2 );
arrset1.add( 3 );
arrset1.add( 4 );
arrset1.add( 5 );
System.out.println( "Set before retainAll() operation : "
+ arrset1);
Set<Integer> arrset2 = new HashSet<Integer>();
arrset2.add( 1 );
arrset2.add( 2 );
arrset2.add( 3 );
System.out.println( "Collection Elements to be retained : "
+ arrset2);
arrset1.retainAll(arrset2);
System.out.println( "Set after retainAll() operation : "
+ arrset1);
}
catch (NullPointerException e) {
System.out.println( "Exception thrown : " + e);
}
}
}
|
Output:
Set before retainAll() operation : [1, 2, 3, 4, 5]
Collection Elements to be retained : [1, 2, 3]
Set after retainAll() operation : [1, 2, 3]
Example 2: For NullPointerException.
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
Set<Integer> arrset1 = new HashSet<Integer>();
arrset1.add( 1 );
arrset1.add( 2 );
arrset1.add( 3 );
arrset1.add( 4 );
arrset1.add( 5 );
System.out.println( "Set before retainAll() operation : "
+ arrset1);
Set<Integer> arrset2 = null ;
System.out.println( "Collection Elements to be retained : "
+ arrset2);
System.out.println( "\nTrying to pass "
+ "null as a specified element\n" );
arrset1.retainAll(arrset2);
System.out.println( "Set after retainAll() operation : "
+ arrset1);
}
catch (NullPointerException e) {
System.out.println( "Exception thrown : " + e);
}
}
}
|
Output:
Set 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
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/Set.html#retainAll(java.util.Collection)
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
31 Dec, 2018
Like Article
Save Article