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

Guida di base Java

Controllo dei flussi Java

Array Java

Orientamento ad oggetti Java (I)

Orientamento ad oggetti Java (II)

Orientamento ad oggetti Java (III)

Gestione delle eccezioni Java

Lista Java (List)

Queue Java (coda)

Map di Java

Set di Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Uso e esempio del metodo retainAll() di ArrayList Java

Metodi ArrayList Java

Il metodo retainAll() di ArrayList Java mantiene solo quegli elementi che esistono sia nell'ArrayList che nella collezione specificata.

E, tutti gli elementi non presenti nella collezione specificata vengono rimossi dall'arraylist.

La sintassi del metodo retainAll() è:

arraylist.retainAll(Collection c);

Parametro di retainAll()

  • collection- Solo gli elementi presenti nella collezione vengono conservati nell'arraylist.

Valore di ritorno di retainAll()

  • Se si elimina un elemento dall'arraylist, restituisce true

  • Se il tipo dell'elemento esistente nell'arraylist è specificatoCollezioneIl tipo dell'elemento non è compatibile, viene lanciata un'eccezione ClassCastException

  • Se l'arraylist contiene elementi null e specificatoCollezioneNon sono ammessi elementi null, viene lanciata NullPointerException

Esempio 1: Java ArrayList retainAll()

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        // crea ArrayList
        ArrayList<String> languages1 = new ArrayList<>();
        // aggiungi elemento a ArrayList
        languages1.add("JavaScript");
        languages1.add("Python");
        languages1.add("Java");
        System.out.println("ArrayList 1:  " + languages1);
        //Crea un altro ArrayList
        ArrayList<String> languages2 = new ArrayList<>();
        // aggiungi elemento a ArrayList
        languages2.add("English");
        languages2.add("Java");
        languages2.add("Python");
        System.out.println("ArrayList 2: " + languages2);
        // conservare gli elementi comuni
        languages1.retainAll(languages2);
        System.out.println("Elementi comuni: " + languages1);
    }
}

Risultato di output

ArrayList 1: [JavaScript, Python, Java]
ArrayList 2: [English, Java, Python]
Elementi comuni: [Python, Java]

Nell'esempio precedente, abbiamo creato due ArrayList chiamate languages1 e languages2. Nota questa riga:

languages1.retainAll(languages2);

In questo esempio, passiamo l'arraylist languages2 come parametro al metodo retainAll(). Questo metodo elimina tutti gli elementi non presenti in languages2 da languages1. Pertanto, si conservano solo gli elementi comuni.

Esempio 2: mostrare gli elementi comuni tra ArrayList e HashSet

import java.util.ArrayList;
import java.util.HashSet;
class Main {
    public static void main(String[] args) {
        // crea ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();
        // aggiungi elemento a ArrayList
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("ArrayList: " + numbers);
        // crea un HashSet
        HashSet<Integer> primeNumbers = new HashSet<>();
        // aggiungi elemento a HashSet
        primeNumbers.add(2);
        primeNumbers.add(3);
        primeNumbers.add(5);
        System.out.println("HashSet: " + primeNumbers);
        //Rimetti gli elementi comuni nell'ArrayList
        numbers.retainAll(primeNumbers);
        System.out.println("Elementi comuni: " + numbers);
    }
}

Risultato di output

ArrayList: [1, 2, 3]
HashSet: [2, 3, 5]
Elementi comuni: [2, 3]

Nell'esempio sopra, abbiamo creato un arraylist chiamato numbers e un set di hash chiamato primeNumbers. Nota questa riga,

numbers.retainAll(primeNumbers);

In questo caso, il metodo retainAll() eliminerà tutti quegli elementi non presenti in primeNumbers e terrà soltanto gli elementi comuni. Quindi,2e3Rimasta nell'arraylist numbers.

Metodi ArrayList Java