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 ArrayList
classe.
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
true
se os elementos são removidos da lista de arranjos - lança
ClassCastException
se a classe de elementos presente em arraylist é incompatível com a classe de elementos na coleção especificada - lança
NullPointerException
se 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.