El método RetainAll() de ArrayList se usa para eliminar todos los elementos de la lista de arreglos que no están contenidos en la colección especificada o retiene todos los elementos coincidentes en la instancia actual de ArrayList que coinciden con todos los elementos de la lista de colección pasada como parámetro al método.
Sintaxis:
public boolean retainAll(Collection C)
Parámetros: La C es la colección que contiene los elementos que se conservarán en la lista.
Valor devuelto: el método devuelve un valor booleano verdadero si la lista cambia en absoluto como resultado de la llamada; de lo contrario, es falso.
Excepciones:
- ClassCastException: si la clase de un elemento de este ArrayList es incompatible con la colección Passed. Esto es opcional.
- NullPointerException: si la lista contiene un elemento nulo y la colección pasada no permite elementos nulos, o si la colección especificada es nula. Esto también es opcional.
Los siguientes programas se utilizan para ilustrar el método Java.util.ArrayList.retainAll():
Programa 1: pasar la colección ArrayList como parámetro al método.
// Java code to illustrate retainAll() method import java.util.ArrayList; public class GFG { public static void main(String[] args) { // Creating an empty array list ArrayList<String> bags = new ArrayList<String>(); // Add values in the bags list. bags.add("pen"); bags.add("pencil"); bags.add("paper"); // Creating another array list ArrayList<String> boxes = new ArrayList<String>(); // Add values in the boxes list. boxes.add("pen"); boxes.add("paper"); boxes.add("books"); boxes.add("rubber"); // Before Applying method print both lists System.out.println("Bags Contains :" + bags); System.out.println("Boxes Contains :" + boxes); // Apply retainAll() method to boxes passing bags as parameter boxes.retainAll(bags); // Displaying both the lists after operation System.out.println("\nAfter Applying retainAll()"+ " method to Boxes\n"); System.out.println("Bags Contains :" + bags); System.out.println("Boxes Contains :" + boxes); } }
Bags Contains :[pen, pencil, paper] Boxes Contains :[pen, paper, books, rubber] After Applying retainAll() method to Boxes Bags Contains :[pen, pencil, paper] Boxes Contains :[pen, paper]
Programa 2: pasar una colección diferente de ArrayList como parámetro al método.
// Program Demonstrate retainAll() method With // Collection different then ArrayList as a parameter of the method import java.util.*; public class GFG { public static void main(String[] args) { // Creating an empty array list HashSet<String> bags = new HashSet<String>(); // Add values in the bags Set. bags.add("pen"); bags.add("ink"); bags.add("paper"); // Creating another empty array list ArrayList<String> boxes = new ArrayList<String>(); // Add values in the boxes list. boxes.add("pen"); boxes.add("paper"); boxes.add("books"); boxes.add("rubber"); boxes.add("ink"); // Before Applying method print both list and set. System.out.println("Bags Contains :" + bags); System.out.println("Boxes Contains :" + boxes); // Apply retainAll() method to boxes passing bags as parameter boxes.retainAll(bags); // Displaying both the lists after operation System.out.println("\nAfter Applying retainAll()" + " method to Boxes\n"); System.out.println("Bags Contains :" + bags); System.out.println("Boxes Contains :" + boxes); } }
Bags Contains :[paper, ink, pen] Boxes Contains :[pen, paper, books, rubber, ink] After Applying retainAll() method to Boxes Bags Contains :[paper, ink, pen] Boxes Contains :[pen, paper, ink]
Programa 3: Ilustrando el error arrojado por el método de retención()
// Program to illustrate error thrown by retainAll() method import java.util.*; public class GFG { public static void main(String[] args) { // Creating an empty array list ArrayList<Integer> list1 = null; /// Creating another empty array list ArrayList<String> list2 = new ArrayList<String>(); // Add values in the list2 list. list2.add("pen"); list2.add("paper"); list2.add("books"); list2.add("rubber"); // Before Applying method print both lists System.out.println("list1 Contains :" + list1); System.out.println("list2 Contains :" + list2); // Apply retainAll() method to list2 passing list1 as parameter list2.retainAll(list1); // Displaying both the lists after operation System.out.println("\nAfter Applying retainAll()"+ " method to list2\n"); System.out.println("list1 Contains :" + list1); System.out.println("list2 Contains :" + list2); } }
Producción:
list1 Contains :null list2 Contains :[pen, paper, books, rubber]
Error de tiempo de ejecución:
Exception in thread "main" java.lang.NullPointerException at java.util.Objects.requireNonNull(Objects.java:203) at java.util.ArrayList.retainAll(ArrayList.java:714) at GFG.main(GFG.java:26)
Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#retainAll(java.util.Collection)
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA