Java ArrayList retainAll() 方法

目录
文章目录隐藏
  1. 语法
  2. 返回值
  3. 实例

retainAll() 方法用于保留 arraylist 中在指定集合中也存在的那些元素,也就是删除指定集合中不存在的那些元素。

语法

retainAll() 方法的语法为:

arraylist.retainAll(Collection c);

注:arraylist 是 ArrayList 类的一个对象。

参数说明:

  • collection – 集合参数

返回值

如果 arraylist 中删除了元素则返回 true。

如果 arraylist 类中存在的元素与指定 collection 的类中元素不兼容,则抛出 ClassCastException 异常。

如果 arraylist 包含 null 元素,并且指定 collection 不允许 null 元素,则抛出 NullPointerException 。

实例

保留指定集合中的元素:

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

        // 创建一个动态数组
        ArrayList<String> sites = new ArrayList<>();
       
        sites.add("Baidu");
        sites.add("Mybj");
        sites.add("Taobao");

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

        // 创建另一个动态数组
        ArrayList<String> sites2 = new ArrayList<>();

        // 往动态数组中添加元素
        sites2.add("Wiki");
        sites2.add("Mybj");
        sites2.add("Baidu");
        System.out.println("ArrayList 2: " + sites2);

        // 保留元素
        sites.retainAll(sites2);
        System.out.println("保留的元素: " + sites);
    }
}

执行以上程序输出结果为:

ArrayList 1: [Baidu, Mybj, Taobao]
ArrayList 2: [Wiki, Mybj, Baidu]
保留的元素: [Baidu, Mybj]

在上面的实例中,我们创建了个名为 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]

在以上实例中,我们创建了一个名为 numbers 的 ArrayList 和一个名 primeNumbers 的 HashSet。

注意这一行:

numbers.retainAll(primeNumbers);

代码中,retainAll() 方法在 numbers 动态数组中删除了所有不存在于 primeNumbers 中的元素。

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » Java ArrayList retainAll() 方法

发表回复