Java ArrayList retêmAll ()

O método Java ArrayList retentAll () retém apenas os elementos no arraylist que também estão presentes na coleção especificada.

E, todos os elementos que não estão presentes na coleção especificada são removidos da lista de arraylist.

A sintaxe do retainAll()método é:

 arraylist.retainAll(Collection c);

Aqui, arraylist é um objeto da ArrayListclasse.

Parâmetros keepAll ()

O retainAll()método usa um único parâmetro.

  • coleção - apenas os elementos presentes na coleção são retidos na lista de arranjos.

Retornar valor de retorno ()

  • retorna truese os elementos são removidos da lista de arranjos
  • lança ClassCastExceptionse a classe de elementos presente em arraylist é incompatível com a classe de elementos na coleção especificada
  • lança NullPointerExceptionse o array contém elemento nulo e a coleção especificada não permite elementos nulos

Exemplo 1: Java ArrayList retêmAll ()

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

Resultado

 ArrayList 1: (JavaScript, Python, Java) ArrayList 2: (inglês, Java, Python) Elementos comuns: (Python, Java)

No exemplo acima, criamos dois arraylists chamados idiomas1 e idiomas2. Observe a linha,

 languages1.retainAll(languages2);

Aqui, estamos passando as linguagens arraylist2 como um argumento para o retainAll()método. O método remove todos os elementos de languages1 que não estão presentes em languages2. Portanto, apenas os elementos comuns são retidos.

Exemplo 2: mostrar elementos comuns entre 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); ) )

Resultado

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

No exemplo acima, criamos uma lista de arraylist chamada numbers e um hashset chamado primeNumbers. Observe a linha,

 numbers.retainAll(primeNumbers);

Aqui, o retainAll()método remove todos os elementos dos números que não estão presentes em primeNumbers. E, guarda apenas os elementos comuns. Portanto, 2 e 3 são mantidos nos números da lista de arranjos.

Artigos interessantes...