Java ArrayList containsAll() 方法
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<String> sites = new ArrayList<>();
sites.add("Google");
sites.add("Runoob");
sites.add("Taobao");
System.out.println("ArrayList 1: " + sites);
// 创建另一个动态数组
ArrayList<String> sites2 = new ArrayList<>();
// 往动态数组中添加元素
sites2.add("Runoob");
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);
}
}
class Main {
public static void main(String[] args){
// 创建一个动态数组
ArrayList<String> sites = new ArrayList<>();
sites.add("Google");
sites.add("Runoob");
sites.add("Taobao");
System.out.println("ArrayList 1: " + sites);
// 创建另一个动态数组
ArrayList<String> sites2 = new ArrayList<>();
// 往动态数组中添加元素
sites2.add("Runoob");
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, Runoob, Taobao] ArrayList 2: [Runoob, 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;
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);
}
}
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);
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。