El método retainAll() de la interfaz java.util.Set se usa para retener de este conjunto todos sus elementos que están contenidos en la colección especificada.
Sintaxis:
public boolean retainAll(Collection c)
Parámetros: este método toma la colección c como un parámetro que contiene elementos que se conservarán de este conjunto.
Valor devuelto: este método devuelve verdadero si este conjunto cambió como resultado de la llamada.
Excepción: este método lanza NullPointerException si este conjunto contiene un elemento nulo y la colección especificada no permite elementos nulos (opcional), o si la colección especificada es nula.
A continuación se muestran los ejemplos para ilustrar el método de retención() .
Ejemplo 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]
Ejemplo 2: para 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
Referencia : https://docs.oracle.com/javase/7/docs/api/java/util/Set.html#retainAll(java.util.Collection)