Java ArrayList keepAll ()

Il metodo Java ArrayList keepAll () conserva solo gli elementi dell'arraylist che sono presenti anche nella raccolta specificata.

Inoltre, tutti gli elementi che non sono presenti nella raccolta specificata vengono rimossi dall'elenco di array.

La sintassi del retainAll()metodo è:

 arraylist.retainAll(Collection c);

Qui, arraylist è un oggetto della ArrayListclasse.

parametri keepAll ()

Il retainAll()metodo accetta un singolo parametro.

  • collection -solo gli elementi presenti in collection vengono mantenuti nella lista di selezione.

keepAll () Valore restituito

  • restituisce truese gli elementi vengono rimossi dall'elenco degli array
  • genera ClassCastExceptionse la classe di elementi presenti in arraylist non è compatibile con la classe di elementi nella raccolta specificata
  • genera NullPointerExceptionse l'arraylist contiene un elemento null e la raccolta specificata non consente elementi null

Esempio 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); ) )

Produzione

 ArrayList 1: (JavaScript, Python, Java) ArrayList 2: (inglese, Java, Python) Elementi comuni: (Python, Java)

Nell'esempio precedente, abbiamo creato due elenchi di array denominati languages1 e languages2. Notare la linea,

 languages1.retainAll(languages2);

Qui, stiamo passando l'arraylist languages2 come argomento del retainAll()metodo. Il metodo rimuove tutti gli elementi da languages1 che non sono presenti in languages2. Pertanto, vengono mantenuti solo gli elementi comuni.

Esempio 2: mostra elementi comuni tra ArrayList e 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); ) )

Produzione

 ArrayList: (1, 2, 3) HashSet: (2, 3, 5) Elementi comuni: (2, 3)

Nell'esempio precedente, abbiamo creato un elenco di array con nome numeri e un hashset denominato primeNumbers. Notare la linea,

 numbers.retainAll(primeNumbers);

Qui, il retainAll()metodo rimuove tutti quegli elementi dai numeri che non sono presenti in primeNumbers. E mantiene solo gli elementi comuni. Pertanto, 2 e 3 vengono mantenuti nei numeri dell'elenco di array.

Articoli interessanti...