扫码一下
查看教程更方便
containsAll() 方法用于检测 arraylist 是否包含指定集合中的所有元素。。
containsAll() 方法的语法为:
arraylist.containsAll(Collection c);
注 :arraylist 是 ArrayList 类的一个对象。
如果动态数组中包含的集合中的所有元素,则返回 true。
如果 arraylist 中存在的元素与指定 collection 中的元素不兼容,则抛出 ClassCastException。
如果 collection 中包含 null 元素,并且 arraylist 中不允许 null值,则抛出 NullPointerException 异常。
注意 :可以这样理解, containsAll() 方法检查了 collection 是否是动态数组中的一个子集。
以下实例演示了 containsAll 的使用方法:
实例
import java.util.ArrayList; public class Main { public static void main(String[] args){ // 创建一个动态数组 ArrayList<String> sites = new ArrayList<>(); sites.add("Google"); sites.add("Jiyik"); sites.add("Taobao"); System.out.println("ArrayList 1: " + sites); // 创建另一个动态数组 ArrayList<String> sites2 = new ArrayList<>(); // 往动态数组中添加元素 sites2.add("Jiyik"); 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, Jiyik, Taobao]
ArrayList 2: [Jiyik, 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; import java.util.HashSet; public 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); System.out.println("HashSet: " + primeNumbers); // 检查 ArrayList 中是否包含 HashSet 的所有元素 boolean result1 = numbers.containsAll(primeNumbers); System.out.println("ArrayList 是否 HashSet 中的所有元素: " + result1); // 检查 HashSet 中是否包含 ArrayList 的所有元素 boolean result2 = primeNumbers.containsAll(numbers); System.out.println("HashSet 是否 ArrayList 中的所有元素: " + result2); } }
执行以上程序输出结果为:
ArrayList: [1, 2, 3]
HashSet: [2, 3]
ArrayList 是否 HashSet 中的所有元素: true
HashSet 是否 ArrayList 中的所有元素: false
在以上实例中,我们创建了一个名为 numbers 的 ArrayList 和一个名 primeNumbers 的 HashSet。