Java ArrayList containsAll() 方法

Java ArrayList

containsAll() 方法用于检测 arraylist 是否包含指定集合中的所有元素。。

containsAll() 方法的语法为:

arraylist.containsAll(Collection c);

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

参数说明:

  • collection - 集合参数。

返回值

如果动态数组中包含的集合中的所有元素,则返回 true。

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

如果 collection 中包含 null 元素,并且 arraylist 中不允许 null值,则抛出 NullPointerException 异常。

注意:可以这样理解, containsAll() 方法检查了 collection 是否是动态数组中的一个子集。

实例

以下实例演示了 containsAll 的使用方法:

实例

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

        // 创建一个动态数组
        ArrayList sites = new ArrayList();
        
        sites.add("Google");
        sites.add("Runoops");
        sites.add("Taobao");

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

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

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

        // 检查动态数组1是否包含动态数组2
        boolean result1 = sites.containsAll(sites2);
        System.out.println("ArrayList 1 包含了 ArrayList 2 的所有元素: " + result1);

        // 检查数组2是否包含数组1
        boolean result2 = sites2.containsAll(sites);
        System.out.println("ArrayList 2 包含了 ArrayList 1 的所有元素: " + result2);
    }
}

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

ArrayList 1: [Google, Runoops, Taobao]
ArrayList 2: [Runoops, Google]
ArrayList 1 包含了 ArrayList 2 的所有元素: true
ArrayList 2 包含了 ArrayList 1 的所有元素: false

在上面的实例中,我们创建了个名为 sites 和 sites2 的动态数组。

注意这几行:

// 返回 true
sites.containsAll(sites2);

// 返回 false
sites2.containsAll(sites)

containsAll() 方法检查 sites 中是否包含 sites2 中的所有元素,元素是包含的,返回 true。

containsAll() 方法检查 sites2 中是否包含 sites 中的所有元素,元素是不包含的,返回 false。


Java ArrayList 和 HashSet 之间的 containsAll() 方法

实例

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

        // 创建一个动态数组
        ArrayList sites = new ArrayList();
        
        sites.add("Google");
        sites.add("Runoops");
        sites.add("Taobao");

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

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

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

        // 检查动态数组1是否包含动态数组2
        boolean result1 = sites.containsAll(sites2);
        System.out.println("ArrayList 1 包含了 ArrayList 2 的所有元素: " + result1);

        // 检查数组2是否包含数组1
        boolean result2 = sites2.containsAll(sites);
        System.out.println("ArrayList 2 包含了 ArrayList 1 的所有元素: " + result2);
    }
}

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

ArrayList: [1, 2, 3]
HashSet: [2, 3]
ArrayList 是否 HashSet 中的所有元素: true
HashSet 是否 ArrayList 中的所有元素: false

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

Java ArrayList