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

Tutorial Básico de Java

Java flow control

Java array

Java object-oriented (I)

Java object-oriented (II)

Java object-oriented (III)

Tratamento de Exceções Java

Java List

Java Queue (queue)

Java Map collection

Java Set collection

Java input/output (I/O)

Java Reader/Writer

Java other topics

Java ArrayList retainAll() usage and example

Métodos da ArrayList Java

The Java ArrayList retainAll() method retains those elements that exist in both the ArrayList and the specified set.

In addition, all elements that do not appear in the specified set are deleted from the arraylist.

The syntax of the retainAll() method is:

arraylist.retainAll(Collection c);

retainAll() parameter

  • collection- Only elements existing in the set are retained in the arraylist.

retainAll() retorna valor

  • Se for removido um elemento do arraylist, retorna true

  • Se o tipo do elemento existente no arraylist não for compatível com o especificadoconjuntodo tipo do elemento existente no arraylist não for compatível com o especificado

  • Se o arraylist contiver elementos null e o tipoconjuntoNão permite elementos null, lançando NullPointerException

Exemplo1: Java ArrayList retainAll()

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        //Criar ArrayList
        ArrayList<String> languages1 = new ArrayList<>();
        //Adicionar elementos ao ArrayList
        languages1.add("JavaScript");
        languages1.add("Python");
        languages1.add("Java");
        System.out.println("ArrayList 1: " + languages1);
        //Criar outra ArrayList
        ArrayList<String> languages2 = new ArrayList<>();
        //Adicionar elementos ao ArrayList
        languages2.add("English");
        languages2.add("Java");
        languages2.add("Python");
        System.out.println("ArrayList 2: " + languages2);
        //Mantendo elementos comuns
        languages1.retainAll(languages2);
        System.out.println("Elementos comuns: " + languages1);
    }
}

Resultados de saída

ArrayList 1: [JavaScript, Python, Java]
ArrayList 2: [English, Java, Python]
Elementos comuns: [Python, Java]

No exemplo acima, criamos duas arraylists chamadas languages1e languages2do ArrayList. Note esta linha,

languages1.retainAll(languages2);

Aqui, vamos usar a arraylist languages2passados como parâmetro para o método retainAll(). Este método remove1remover elementos que não aparecem em languages2todos os elementos. Portanto, apenas mantemos os elementos comuns.

Exemplo2:Mostrar elementos comuns entre ArrayList e HashSet

import java.util.ArrayList;
import java.util.HashSet;
class Main {
    public static void main(String[] args) {
        //Criar ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();
        //Adicionar elementos ao ArrayList
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("ArrayList: " + numbers);
        //Criar um HashSet
        HashSet<Integer> primeNumbers = new HashSet<>();
        //Adicionar elementos ao HashSet
        primeNumbers.add(2);
        primeNumbers.add(3);
        primeNumbers.add(5);
        System.out.println("HashSet: " + primeNumbers);
        //Manter elementos comuns na ArrayList
        numbers.retainAll(primeNumbers);
        System.out.println("Elementos comuns: " + numbers);
    }
}

Resultados de saída

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

No exemplo acima, criamos uma lista de array chamada numbers e um conjunto de hashes chamado primeNumbers. Observe esta linha,

numbers.retainAll(primeNumbers);

Aqui, o método retainAll() removerá todos os elementos que não existem no primeNumbers e manterá apenas os elementos comuns. Portanto,2e3Manter no arraylist numbers.

Métodos da ArrayList Java