Set retainAll() method in Java with Example

31 Dec, 2018
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:
// 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 Set            Set<Integer> arrset1 = new HashSet<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            Set<Integer> arrset2 = new HashSet<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("Exception thrown : " + 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 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 Set<Integer>            Set<Integer> arrset1 = new HashSet<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>            Set<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("Exception thrown : " + e);        }    }}
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)
Java-Collections
Java-Functions
java-set
Java
Java
Java-Collections
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Object Oriented Programming (OOPs) Concept in Java
How to iterate any Map in Java
Interfaces in Java
HashMap in Java with Examples
ArrayList in Java
Collections in Java
Multidimensional Arrays in Java
Singleton Class in Java
Set in Java
Stack Class in Java