containsAll()
方法的语法是:
arraylist.containsAll(Collection c);
这里,
arraylist 是
ArrayList
类的对象。
containsAll() 参数
containsAll()
方法接受一个参数。
containsAll() 返回值
如果数组列表包含 collection 的所有元素,则返回true
抛出 ClassCastException
如果 arraylist 中的元素类与指定的集合中的元素类不兼容
抛出 NullPointerException
如果 collection 包含 null 元素并且数组列表不允许 null 值
注意: 我们可以说 containsAll() 方法检查集合是否是数组列表的子集。
示例 1: Java ArrayList containsAll()
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("Java"); languages2.add("Python"); System.out.println("ArrayList 2: " + languages2); // check if ArrayList 1 contains ArrayList 2 boolean result1 = languages1.containsAll(languages2); System.out.println("ArrayList 1 contains all elements of ArrayList 2: " + result1); // check if ArrayList 2 contains ArrayList 1 boolean result2 = languages2.containsAll(languages1); System.out.println("ArrayList 2 contains all elements of ArrayList 1: " + result2); } }
输出
ArrayList 1: [JavaScript, Python, Java] ArrayList 2: [Java, Python] ArrayList 1 contains all elements of ArrayList 2: true ArrayList 2 contains all elements of ArrayList 1: false
在上面的例子中,我们创建了两个名为
languages1 和
languages2 的数组列表。注意表达式,
// return true languages1.containsAll(languages2)
这里,
containsAll()
方法检查
languages1 是否包含
languages2 的所有元素。因此,该方法返回
true
。但是,请注意以下表达式,
// return false languages2.containsAll(languages1)
这里,
containsAll()
方法检查
languages2 是否包含
languages1 的所有元素。因此,它返回
false
。
注意: containsAll() 方法并非特定于 ArrayList 类。该类继承自 List 接口。
示例 2: Java ArrayList 和 HashSet 之间的 containsAll()
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); System.out.println("HashSet: " + primeNumbers); // check if ArrayList contains all elements of HashSet boolean result1 = numbers.containsAll(primeNumbers); System.out.println("ArrayList contains all elements of HashSet: " + result1); // check if HashSet contains all elements of ArrayList boolean result2 = primeNumbers.containsAll(numbers); System.out.println("HashSet contains all elements of ArrayList: " + result2); } }
输出
ArrayList: [1, 2, 3] HashSet: [2, 3] ArrayList contains all elements of HashSet: true HashSet contains all elements of ArrayList: false
在上面的例子中,我们创建了一个名为
numbers 的数组列表和一个名为
primeNumbers 的哈希集。注意表达式,
// check if ArrayList contains HashSet // return true numbers.containsAll(primeNumbers) // check if HashSet contains ArrayList // return false primeNumbers.containsAll(numbers)
注意: 我们可以使用 Java ArrayList retainAll() 方法获取 ArrayList 和 HashSet 之间的公共元素。