El método preserveAll() de la clase java.util.Stack se usa para retener de esta pila 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 esta pila.
Valor devuelto: este método devuelve verdadero si esta pila cambió como resultado de la llamada.
Excepción: este método lanza NullPointerException si esta pila 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 Stack<Integer> Stack<Integer> stack1 = new Stack<Integer>(); // Populating stack1 stack1.add(1); stack1.add(2); stack1.add(3); stack1.add(4); stack1.add(5); // print stack1 System.out.println("Stack before " + "retainAll() operation : " + stack1); // Creating another object of Stack<Integer> Stack<Integer> stack2 = new Stack<Integer>(); stack2.add(1); stack2.add(2); stack2.add(3); // print stack2 System.out.println("Collection Elements" + " to be retained : " + stack2); // Removing elements from stack // specified in stack2 // using retainAll() method stack1.retainAll(stack2); // print stack1 System.out.println("Stack after " + "retainAll() operation : " + stack1); } catch (NullPointerException e) { System.out.println("Exception thrown : " + e); } } }
Producción:
Stack before retainAll() operation : [1, 2, 3, 4, 5] Collection Elements to be retained : [1, 2, 3] Stack 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 Stack<Integer> Stack<Integer> stack1 = new Stack<Integer>(); // Populating stack1 stack1.add(1); stack1.add(2); stack1.add(3); stack1.add(4); stack1.add(5); // print stack1 System.out.println("Stack before " + "retainAll() operation : " + stack1); // Creating another object of Stack<Integer> Stack<Integer> stack2 = null; // print stack2 System.out.println("Collection Elements" + " to be retained : " + stack2); System.out.println("\nTrying to pass " + "null as a specified element\n"); // Removing elements from stack // specified in stack2 // using retainAll() method stack1.retainAll(stack2); // print stack1 System.out.println("Stack after " + "retainAll() operation : " + stack1); } catch (NullPointerException e) { System.out.println("Exception thrown : " + e); } } }
Producción:
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