Метод containsAll класса ArrayList в Java
Метод containsAll() используется для проверки, содержит ли arraylist все элементы указанной коллекции.
Синтаксис метода containsAll():
arraylist.containsAll(Collection c);
Примечание:arraylist — это объект класса ArrayList.
Описание параметров:
- collection - параметр collection.
Возвращаемое значение
Возвращает true, если динамический массив содержит все элементы коллекции.
Выбрасывает ClassCastException, если элементы, присутствующие в arraylist, несовместимы с элементами в указанной коллекции.
Выбрасывает NullPointerException, если коллекция содержит элементы null, а arraylist не допускает null-значения.
Примечание:Это можно понять так: метод containsAll() проверяет, является ли коллекция подмножеством динамического массива.
Пример
В следующем примере показано, как использовать containsAll:
Пример
class Main {
public static void main(String[] args){
// Создать динамический массив
ArrayList<String> sites = new ArrayList<>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
System.out.println("ArrayList 1: " + sites);
// Создать другой динамический массив
ArrayList<String> sites2 = new ArrayList<>();
// Добавить элементы в динамический массив
sites2.add("Example");
sites2.add("Google");
System.out.println("ArrayList 2: " + sites2);
// Проверить, содержит ли динамический массив 1 динамический массив 2
boolean result1 = sites.containsAll(sites2);
System.out.println("ArrayList 1 contains all elements of ArrayList 2: " + result1);
// Проверить, содержит ли массив 2 массив 1
boolean result2 = sites2.containsAll(sites);
System.out.println("ArrayList 2 содержит все элементы ArrayList 1: " + result2);
}
}
Вывод вышеприведённой программы:
ArrayList 1: [Google, Example, Taobao] ArrayList 2: [Example, 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.
containsAll() между Java ArrayList и HashSet
Пример
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
В приведенном выше примере мы создали ArrayList с именем numbers и HashSet с именем primeNumbers.
Другие расширения
Java ArrayList