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

Основной учебник Java

Java Управление потоком

Java Массив

Java Ориентирован на объект (I)

Java Ориентирован на объект (II)

Java Ориентирован на объект (III)

Обработка исключений Java

Java Список (List)

Java Queue (очередь)

Java Map Сборник

Java Set Сборник

Java Вход/Вывод (I/O)

Java Reader/Writer

Другие темы Java

Метод использования и пример Java ArrayList retainAll()

Java методы ArrayList

Метод retainAll() Java ArrayList сохраняет только те элементы, которые существуют как в ArrayList, так и в указанном наборе.

Кроме того, все элементы, не出现的 в указанном наборе, удаляются из arraylist.

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

arraylist.retainAll(Collection c);

Параметры retainAll()

  • collection-В arraylist сохраняются только элементы, существующие в наборе.

Возвратное значение retainAll()

  • Если элемент удаляется из arraylist, то возвращает true

  • Если элементы arraylist класса соответствуют指定的Сборникэлементы класса несовместимы,то будет выброшен ClassCastException исключение

  • Если arraylist содержит null элементы и指定的СборникЗапрещены null элементы,否则 будет выброшен NullPointerException

Пример 1: Java ArrayList retainAll()

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        // Создание ArrayList
        ArrayList<String> languages1 = new ArrayList<>();
        // Добавление элементов в ArrayList
        languages1.add("JavaScript");
        languages1.add("Python");
        languages1.add("Java");
        System.out.println("ArrayList 1:  " + languages1);
        //Создание другого ArrayList
        ArrayList<String> languages2 = new ArrayList<>();
        // Добавление элементов в ArrayList
        languages2.add("English");
        languages2.add("Java");
        languages2.add("Python");
        System.out.println("ArrayList 2: " + languages2);
        // Сохранение общих элементов
        languages1.retainAll(languages2);
        System.out.println("Общие элементы: " + languages1);
    }
}

Результат вывода

ArrayList 1: [JavaScript, Python, Java]
ArrayList 2: [English, Java, Python]
Общие элементы: [Python, Java]

В предыдущем примере мы создали два ArrayList под именами languages1 и languages2. Обратите внимание на эту строку:

languages1.retainAll(languages2);

Здесь мы передаем ArrayList languages2 в качестве параметра методу retainAll(). Этот метод удаляет из languages1 все элементы, которые не出现的 в languages2. Таким образом, мы сохраняем только общие элементы.

Пример 2: Показать общие элементы ArrayList и HashSet

import java.util.ArrayList;
import java.util.HashSet;
class Main {
    public static void main(String[] args) {
        // Создание ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();
        // Добавление элементов в 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, и сохранит только общие элементы. Таким образом,2и3сохранено в arraylist numbers.

Java методы ArrayList