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