containsAll()
方法的语法是:
arraylist.containsAll(Collection c);
在这里,arraylist 是 对象 的 ArrayList 类的一个 对象。
containsAll() 参数
containsAll()
方法接受一个参数。
- collection - 检查collection中的所有元素是否存在于arraylist中。
containsAll()返回值
- 如果arraylist包含collection的所有元素,则返回
true
。 - 如果arraylist中的元素类与指定collection中的元素类不兼容,则抛出
ClassCastException
。 - 如果collection包含null元素而arraylist不允许null值,则抛出
NullPointerException
。
注意:我们可以说containsAll()
方法检查collection是否是arraylist的子集。
示例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的arraylist。请注意表达式,
// 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的arraylist和一个名为primeNumbers的hashset。请注意表达式,
// 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
之间的共同元素。