Java ArrayList retainAll() 方法仅保留arraylist 中也存在于指定集合中的那些元素。
并且,指定集合中不存在的所有元素都将从数组列表中删除。
用法:
arraylist.retainAll(Collection c);
这里,arraylist 是ArrayList 类的对象。
参数:
retainAll() 方法采用单个参数。
- collection- 只有那些元素存在于collection保留在数组列表中。
返回:
- 如果从数组列表中删除元素,则返回 true
- 抛出ClassCastException如果 arraylist 中存在的元素类与指定的元素类不兼容收藏
- 抛出NullPointerException如果 arraylist 包含 null 元素并且指定的收藏不允许空元素
示例 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]
在上面的示例中,我们创建了两个名为 languages1 和 languages2 的数组列表。注意线,
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.
相关用法
- Java ArrayList removeAll()用法及代码示例
- Java ArrayList remove()用法及代码示例
- Java ArrayList removeIf()用法及代码示例
- Java ArrayList replaceAll()用法及代码示例
- Java ArrayList removeRange()用法及代码示例
- Java ArrayList spliterator()用法及代码示例
- Java ArrayList Iterator()用法及代码示例
- Java ArrayList lastIndexOf()用法及代码示例
- Java ArrayList forEach()用法及代码示例
- Java ArrayList contains()用法及代码示例
- Java ArrayList toArray()用法及代码示例
- Java ArrayList clone()用法及代码示例
- Java ArrayList clear()用法及代码示例
- Java ArrayList containsAll()用法及代码示例
- Java ArrayList sort()用法及代码示例
- Java ArrayList get()用法及代码示例
- Java ArrayList ensureCapacity()用法及代码示例
- Java ArrayList toString()用法及代码示例
- Java ArrayList iterator()用法及代码示例
- Java ArrayList isEmpty()用法及代码示例
注:本文由纯净天空筛选整理自 Java ArrayList retainAll()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
