Java教程

Java ArrayList retainAll()

Java ArrayList retainAll()

Java ArrayList retainAll() 方法仅保留 arraylist 中也存在于指定集合中的那些元素。
并且,所有不存在于指定集合中的元素都将从数组列表中删除。
retainAll() 方法的语法是:
arraylist.retainAll(Collection c);
这里, arraylistArrayList 类的对象。

retainAll() 参数

retainAll() 方法接受一个参数。
collection-只有 collection 中存在的元素会保留在数组列表中。

retainAll() 返回值

如果元素从数组列表中移除,则返回 true 抛出 ClassCastException 如果 arraylist 中的元素类与指定的集合 中的元素类不兼容 如果数组列表包含空元素并且指定的集合不允许空元素,则抛出NullPointerException

示例 1: Java ArrayList retainAll()

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        // create an ArrayList
        ArrayList<String> 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<String> 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);
    }
}
输出
ArrayList 1: [JavaScript, Python, Java]
ArrayList 2: [English, Java, Python]
Common Elements: [Python, Java]
在上面的例子中,我们创建了两个名为 languages1languages2 的数组列表。注意这一行,
languages1.retainAll(languages2);
在这里,我们将数组列表 languages2 作为参数传递给 retainAll() 方法。该方法从 languages1 中删除了 languages2 中不存在的所有元素。因此,只保留了公共元素。

示例 2: 显示 ArrayList 和 HashSet 之间的公共元素

import java.util.ArrayList;
import java.util.HashSet;
class Main {
    public static void main(String[] args) {
        // create an ArrayList
        ArrayList<Integer> 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<Integer> 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);
    }
}
输出
ArrayList: [1, 2, 3]
HashSet: [2, 3, 5]
Common Elements: [2, 3]
在上面的例子中,我们创建了一个名为 numbers 的数组列表和一个名为 primeNumbers 的哈希集。注意这一行,
numbers.retainAll(primeNumbers);
此处, retainAll() 方法从 numbers 中删除了 primeNumbers 中不存在的所有元素。并且,只保留公共元素。因此,2 和 3 保留在数组列表 numbers 中。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4