The retainAll() method of java.util.Stack class is used to retain from this stack 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 stack.
Returns Value: This method returns true if this stack changed as a result of the call.
Exception: This method throws NullPointerException if this stack 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 {
Stack<Integer>
stack1 = new Stack<Integer>();
stack1.add( 1 );
stack1.add( 2 );
stack1.add( 3 );
stack1.add( 4 );
stack1.add( 5 );
System.out.println( "Stack before "
+ "retainAll() operation : "
+ stack1);
Stack<Integer>
stack2 = new Stack<Integer>();
stack2.add( 1 );
stack2.add( 2 );
stack2.add( 3 );
System.out.println( "Collection Elements"
+ " to be retained : "
+ stack2);
stack1.retainAll(stack2);
System.out.println( "Stack after "
+ "retainAll() operation : "
+ stack1);
}
catch (NullPointerException e) {
System.out.println( "Exception thrown : " + e);
}
}
}
|
Output:
Stack before retainAll() operation : [1, 2, 3, 4, 5]
Collection Elements to be retained : [1, 2, 3]
Stack 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 {
Stack<Integer>
stack1 = new Stack<Integer>();
stack1.add( 1 );
stack1.add( 2 );
stack1.add( 3 );
stack1.add( 4 );
stack1.add( 5 );
System.out.println( "Stack before "
+ "retainAll() operation : "
+ stack1);
Stack<Integer>
stack2 = null ;
System.out.println( "Collection Elements"
+ " to be retained : "
+ stack2);
System.out.println( "\nTrying to pass "
+ "null as a specified element\n" );
stack1.retainAll(stack2);
System.out.println( "Stack after "
+ "retainAll() operation : "
+ stack1);
}
catch (NullPointerException e) {
System.out.println( "Exception thrown : " + e);
}
}
}
|
Output:
Stack 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