Java ArrayList containsAll()方法檢查arraylist是否包含指定集合的所有元素。
containsAll()方法的語法為:
arraylist.containsAll(Collection c);
collection - 檢查集合的所有元素是否都出現(xiàn)在arraylist中。
如果arraylist包含指定集合的所有元素,則返回true
如果arraylist中存在的元素類與指定集合中的元素類不兼容,則引發(fā)ClassCastException
如果集合包含null元素且arraylist不允許null值,則引發(fā)NullPointerException
注意:可以說containsAll()方法檢查集合是否為arraylist的子集。
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
//創(chuàng)建 ArrayList
ArrayList<String> languages1 = new ArrayList<>();
//添加元素到 ArrayList
languages1.add("JavaScript");
languages1.add("Python");
languages1.add("Java");
System.out.println("ArrayList 1: " + languages1);
//創(chuàng)建另一個 ArrayList
ArrayList<String> languages2 = new ArrayList<>();
//添加元素到 ArrayList
languages2.add("Java");
languages2.add("Python");
System.out.println("ArrayList 2: " + languages2);
// 檢查ArrayList 1是否包含ArrayList 2
boolean result1 = languages1.containsAll(languages2);
System.out.println(" ArrayList 1包含ArrayList 2的所有元素 : " + result1);
// 檢查ArrayList 2是否包含ArrayList 1
boolean result2 = languages2.containsAll(languages1);
System.out.println(" ArrayList 2包含ArrayList 1的所有元素 : " + result2);
}
}輸出結(jié)果
ArrayList 1: [JavaScript, Python, Java] ArrayList 2: [Java, Python] ArrayList 1包含ArrayList 2的所有元素 : true ArrayList 2包含ArrayList 1的所有元素 : false
在上面的示例中,我們創(chuàng)建了兩個名為languages1和languages2的ArrayList。注意表達(dá)式
// 返回 true languages1.containsAll(languages2)
這里,containsAll()方法檢查languages1是否包含languages2的所有元素。因此,該方法返回true。但是,請注意下面的表達(dá)式:
// 返回 false languages2.containsAll(languages1)
這里,containsAll()方法檢查languages2是否包含languages1的所有元素。因此,返回false
注意:containsAll()方法不是特定于ArrayList類的。該類繼承自List接口。
import java.util.ArrayList;
import java.util.HashSet;
class Main {
public static void main(String[] args) {
//創(chuàng)建 ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
//添加元素到 ArrayList
numbers.add(1);
numbers.add(2);
numbers.add(3);
System.out.println("ArrayList: " + numbers);
//創(chuàng)建 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);
}
}輸出結(jié)果
ArrayList: [1, 2, 3] HashSet: [2, 3] ArrayList包含HashSet的所有元素 : true HashSet包含ArrayList的所有元素 : false
在上面的示例中,我們創(chuàng)建了一個名為numbers的arraylist和一個名為primeNumbers的哈希集合。注意這些表達(dá)式,
// 檢查ArrayList是否包含HashSet // 返回 true numbers.containsAll(primeNumbers) // 檢查HashSet是否包含ArrayList // 返回 false primeNumbers.containsAll(numbers)
注意:我們可以使用Java ArrayList retainAll()方法獲取ArrayList和HashSet之間的公共元素。