Java ArrayList keepAll ()

El método RetenerAll () de Java ArrayList conserva solo los elementos de la lista de matrices que también están presentes en la colección especificada.

Y todos aquellos elementos que no están presentes en la colección especificada se eliminan de la lista de matrices.

La sintaxis del retainAll()método es:

 arraylist.retainAll(Collection c);

Aquí, arraylist es un objeto de la ArrayListclase.

RetenerAll () Parámetros

El retainAll()método toma un solo parámetro.

  • colección: solo los elementos presentes en la colección se conservan en la lista de matrices.

Retener Todo () Valor devuelto

  • devuelve truesi los elementos se eliminan de la lista de matrices
  • arroja ClassCastExceptionsi la clase de elementos presentes en la lista de matrices es incompatible con la clase de elementos en la colección especificada
  • arroja NullPointerExceptionsi la lista de matrices contiene un elemento nulo y la colección especificada no permite elementos nulos

Ejemplo 1: Java ArrayList keepAll ()

 import java.util.ArrayList; class Main ( public static void main(String() args) ( // create an ArrayList ArrayList languages1 = new ArrayList(); // insert element to the ArrayList languages1.add("JavaScript"); languages1.add("Python"); languages1.add("Java"); System.out.println("ArrayList 1: " + languages1); // create another ArrayList ArrayList languages2 = new ArrayList(); // add elements to ArrayList languages2.add("English"); languages2.add("Java"); languages2.add("Python"); System.out.println("ArrayList 2: " + languages2); // retain the common element languages1.retainAll(languages2); System.out.println("Common Elements: " + languages1); ) )

Salida

 ArrayList 1: (JavaScript, Python, Java) ArrayList 2: (Inglés, Java, Python) Elementos comunes: (Python, Java)

En el ejemplo anterior, hemos creado dos listas de matrices llamadas languages1 e languages2. Note la línea,

 languages1.retainAll(languages2);

Aquí, estamos pasando la lista de arrays languages2 como un argumento para el retainAll()método. El método elimina todos los elementos de languages1 que no están presentes en languages2. Por tanto, solo se conservan los elementos comunes.

Ejemplo 2: Mostrar elementos comunes entre ArrayList y HashSet

 import java.util.ArrayList; import java.util.HashSet; class Main ( public static void main(String() args) ( // create an ArrayList ArrayList numbers = new ArrayList(); // add element to ArrayList numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("ArrayList: " + numbers); // create a HashSet HashSet primeNumbers = new HashSet(); // add elements to HashSet primeNumbers.add(2); primeNumbers.add(3); primeNumbers.add(5); System.out.println("HashSet: " + primeNumbers); // retain common elements in the ArrayList numbers.retainAll(primeNumbers); System.out.println("Common Elements: " + numbers); ) )

Salida

 ArrayList: (1, 2, 3) HashSet: (2, 3, 5) Elementos comunes: (2, 3)

En el ejemplo anterior, hemos creado una lista de matrices denominada números y un conjunto de hash denominado primeNumbers. Note la línea,

 numbers.retainAll(primeNumbers);

Aquí, el retainAll()método elimina todos esos elementos de los números que no están presentes en primeNumbers. Y solo conserva los elementos comunes. Por tanto, 2 y 3 se conservan en los números de la lista de matrices.

Articulos interesantes...