当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java ArrayList retainAll()用法及代码示例


Java ArrayList retainAll() 方法仅保留arraylist 中也存在于指定集合中的那些元素。

并且,指定集合中不存在的所有元素都将从数组列表中删除。

用法:

arraylist.retainAll(Collection c);

这里,arraylistArrayList 类的对象。

参数:

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]

在上面的示例中,我们创建了两个名为 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.并且,只保留共同的元素。因此,23保留在数组列表中numbers.

相关用法


注:本文由纯净天空筛选整理自 Java ArrayList retainAll()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。