Método retainAll() de Java ArrayList

Java ArrayList Java ArrayList

El método retainAll() se utiliza para conservar aquellos elementos del arraylist que también existen en la colección especificada, es decir, elimina los elementos que no existen en la colección especificada.

La sintaxis del método retainAll() es:

arraylist.retainAll(Collection c);

Nota:arraylist es un objeto de la clase ArrayList.

Descripción de parámetros:

  • collection - parámetro de colección

Valor de retorno

Devuelve true si se eliminan elementos del arraylist.

Lanza una excepción ClassCastException si los elementos presentes en la clase arraylist son incompatibles con los elementos de la clase de la colección especificada.

Lanza NullPointerException si arraylist contiene elementos null y la colección especificada no permite elementos null.

Ejemplo

Conservar los elementos de la colección especificada:

Ejemplo

import java.util.ArrayList;
class Main {
    public static void main(String[] args){

        // crear un array dinámico
        ArrayList<String> sites = new ArrayList<>();
       
        sites.add("Google");
        sites.add("Ejemplo");
        sites.add("Taobao");

        System.out.println("ArrayList 1: " + sites);

        // crear otro array dinámico
        ArrayList<String> sites2 = new ArrayList<>();

        // añadir elementos al array dinámico
        sites2.add("Wiki");
        sites2.add("Ejemplo");
        sites2.add("Google");
        System.out.println("ArrayList 2: " + sites2);

        // conservar elementos
        sites.retainAll(sites2);
        System.out.println(Elementos conservados: + sites);
    }
}

La ejecución del programa anterior produce el siguiente resultado:

ArrayList 1: [Google, Ejemplo, Taobao]
ArrayList 2: [Wiki, Ejemplo, Google]
保留的元素: [Google, Ejemplo]

En el ejemplo anterior, creamos dos arrays dinámicos llamados sites y sites2.

Observa esta línea:

sites.retainAll(sites2);

En el ejemplo, pasamos el array sites2 como parámetro del método retainAll(). Este método elimina de sites los elementos que no existen en sites2.

Elementos comunes entre ArrayList y HashSet:

Ejemplo

import java.util.ArrayList;
import java.util.HashSet;

class Main {
    public static void main(String[] args) {
        // crear un array
        ArrayList<Integer> numbers = new ArrayList<>();

        // añadir elementos al array
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("ArrayList: " + numbers);

        // crear un objeto HashSet
        HashSet<Integer> primeNumbers = new HashSet<>();

        // añadir elementos al HashSet
        primeNumbers.add(2);
        primeNumbers.add(3);
        primeNumbers.add(5);
        System.out.println("HashSet: " + primeNumbers);

        // conservar los elementos comunes en arraylist
        numbers.retainAll(primeNumbers);
        System.out.println(Elementos comunes: + numbers);
    }
}

La ejecución del programa anterior produce el siguiente resultado:

ArrayList: [1, 2, 3]
HashSet: [2, 3, 5]
共有元素: [2, 3]

En el ejemplo anterior, creamos un ArrayList llamado numbers y un HashSet llamado primeNumbers.

Observa esta línea:

numbers.retainAll(primeNumbers);

En el código, el método retainAll() elimina del array dinámico numbers todos los elementos que no existen en primeNumbers.

Java ArrayList Java ArrayList

Otras extensiones