Метод retainAll() класса ArrayList в Java

Java ArrayList Java ArrayList

Метод retainAll() используется для сохранения в arraylist элементов, которые также существуют в указанной коллекции, то есть для удаления тех элементов, которых нет в указанной коллекции.

Синтаксис метода retainAll():

arraylist.retainAll(Collection c);

Примечание:arraylist — это объект класса ArrayList.

Описание параметра:

  • collection - параметр коллекции

Возвращаемое значение

Возвращает true, если элементы удалены из arraylist.

Выбрасывает ClassCastException, если элементы, присутствующие в классе arraylist, несовместимы с элементами в указанном классе collection.

Выбрасывает NullPointerException, если arraylist содержит null-элементы и указанная collection не допускает null-элементы.

Пример

Оставить элементы в указанной collection:

Пример

import java.util.ArrayList;
class Main {
    public static void main(String[] args){

        // Создать динамический массив
        ArrayList<String> sites = new ArrayList<>();
       
        sites.add("Google");
        sites.add("Example");
        sites.add("Taobao");

        System.out.println("ArrayList 1: " + sites);

        // Создать другой динамический массив
        ArrayList<String> sites2 = new ArrayList<>();

        // Добавить элементы в динамический массив
        sites2.add("Wiki");
        sites2.add("Example");
        sites2.add("Google");
        System.out.println("ArrayList 2: " + sites2);

        // Оставить элементы
        sites.retainAll(sites2);
        System.out.println("Сохранённые элементы: " + sites);
    }
}

Запуск вышеуказанной программы выводит результат:

ArrayList 1: [Google, Example, Taobao]
ArrayList 2: [Wiki, Example, Google]
保留的元素: [Google, Example]

В приведённом выше примере мы создали динамические массивы с именами sites и sites2.

Обратите внимание на эту строку:

sites.retainAll(sites2);

В примере мы передали массив sites2 в качестве параметра методу retainAll(). Этот метод удаляет из sites элементы, которых нет в sites2.

Общие элементы ArrayList и HashSet:

Пример

import java.util.ArrayList;
import java.util.HashSet;

class Main {
    public static void main(String[] args) {
        // Создать массив
        ArrayList<Integer> numbers = new ArrayList<>();

        // Добавить элементы в массив
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("ArrayList: " + numbers);

        // Создать объект HashSet
        HashSet<Integer> primeNumbers = new HashSet<>();

        // Добавить элементы в HashSet
        primeNumbers.add(2);
        primeNumbers.add(3);
        primeNumbers.add(5);
        System.out.println("HashSet: " + primeNumbers);

        // Оставить общие элементы в arraylist
        numbers.retainAll(primeNumbers);
        System.out.println("Общие элементы: " + numbers);
    }
}

Запуск вышеуказанной программы выводит результат:

ArrayList: [1, 2, 3]
HashSet: [2, 3, 5]
共有元素: [2, 3]

В приведенном выше примере мы создали ArrayList с именем numbers и HashSet с именем primeNumbers.

Обратите внимание на эту строку:

numbers.retainAll(primeNumbers);

В коде метод retainAll() удаляет все элементы из динамического массива numbers, которых нет в primeNumbers.

Java ArrayList Java ArrayList

Другие расширения