The retainAll() method of SortedSet interface is used to retain from this SortedSet, 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 SortedSet.
Return Value: This method returns true if this SortedSet 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.
Note: The retainAll() method in SortedSet is inherited from the Set interface in Java.
Below are the examples to illustrate the retainAll() method.
Example 1:
Java
// Java program to demonstrate // retainAll() method for Sorted set import java.util.*; public class GFG1 { public static void main(String[] args) throws Exception { try { // Creating object of Set SortedSet<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( "Set before " + "retainAll() operation : " + arrset1); // Creating another object of Set SortedSet<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( "Set after " + "retainAll() operation : " + arrset1); } catch (NullPointerException e) { System.out.println(e); } } } |
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.
Java
// Java program to demonstrate // retainAll() method for Sorted set import java.util.*; public class GFG1 { public static void main(String[] args) throws Exception { try { // Creating object of SortedSet<Integer> SortedSet<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( "Set before " + "retainAll() operation : " + arrset1); // Creating another object of Set<Integer> SortedSet<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( "Set after " + "retainAll() operation : " + arrset1); } catch (NullPointerException e) { System.out.println(e); } } } |
Set before retainAll() operation : [1, 2, 3, 4, 5] Collection Elements to be retained : null Trying to pass null as a specified element java.lang.NullPointerException
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/Set.html#retainAll(java.util.Collection)