English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Control de flujo de Java

Java matriz

Java orientado a objetos (I)

Java orientado a objetos (II)

Java orientado a objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Queue (cola)

Conjuntos de Java Map

Conjuntos de Java

Entrada y salida de Java (I/O)

Reader de Java/Writer

Otras temáticas de Java

Uso y ejemplo del método retainAll() de Java ArrayList

Java ArrayList 方法

El método retainAll() de Java ArrayList solo conserva aquellos elementos que existen tanto en ArrayList como en el conjunto especificado.

Además, todos los elementos que no aparecen en el conjunto especificado se eliminan del arraylist.

La sintaxis del método retainAll() es:

arraylist.retainAll(Collection c);

parámetro retainAll()

  • colección- Sólo los elementos que existen en el conjunto se conservan en el arraylist.

El valor de retorno de retainAll()

  • Si se elimina un elemento del arraylist, devuelve true

  • La clase de los elementos existentes en el arraylist no es compatible con la especificadaconjuntoLa clase de los elementos del arraylist no es compatible, lanza la excepción ClassCastException

  • Si el arraylist contiene elementos null y el especificadoconjuntoNo permite elementos null, de lo contrario lanza NullPointerException

Ejemplo1: Java ArrayList retainAll()

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        //Crear ArrayList
        ArrayList<String> languages1 = new ArrayList<>();
        //Agregar elementos al ArrayList
        languages1.add("JavaScript");
        languages1.add("Python");
        languages1.add("Java");
        System.out.println("ArrayList 1: " + languages1);
        //Crear otro ArrayList
        ArrayList<String> languages2 = new ArrayList<>();
        //Agregar elementos al ArrayList
        languages2.add("Inglés");
        languages2.add("Java");
        languages2.add("Python");
        System.out.println("ArrayList 2: " + languages2);
        //Mantener los elementos comunes
        languages1.retainAll(languages2);
        System.out.println("Elementos comunes: " + languages1);
    }
}

Resultado de salida

ArrayList 1: [JavaScript, Python, Java]
ArrayList 2: [Inglés, Java, Python]
Elementos comunes: [Python, Java]

En el ejemplo anterior, creamos dos ArrayList llamados languages1y languages2del ArrayList. Nota esta línea,

languages1.retainAll(languages2);

Aquí, crearemos un arraylist languages2como parámetro para el método retainAll(). Este método elimina los elementos que no aparecen en languages1eliminar los elementos que no aparecen en languages2todos los elementos. Por lo tanto, solo se conservan los elementos comunes.

Ejemplo2:Mostrar los elementos comunes entre ArrayList y HashSet

import java.util.ArrayList;
import java.util.HashSet;
class Main {
    public static void main(String[] args) {
        //Crear ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();
        //Agregar elementos al ArrayList
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("ArrayList: " + numbers);
        //Crear un HashSet
        HashSet<Integer> primeNumbers = new HashSet<>();
        //Agregar elementos al HashSet
        primeNumbers.add(2);
        primeNumbers.add(3);
        primeNumbers.add(5);
        System.out.println("HashSet: " + primeNumbers);
        //Mantener elementos comunes en ArrayList
        numbers.retainAll(primeNumbers);
        System.out.println("Elementos comunes: " + numbers);
    }
}

Resultado de salida

ArrayList: [1, 2, 3]
HashSet: [2, 3, 5]
Elementos comunes: [2, 3]

En el ejemplo anterior, creamos una lista de array llamada numbers y una colección de hash llamada primeNumbers. Nota esta línea,

numbers.retainAll(primeNumbers);

Aquí, el método retainAll() eliminará todos los elementos que no existen en primeNumbers y solo mantendrá los elementos comunes. Por lo tanto,2y3Se mantiene en arraylist numbers.

Java ArrayList 方法