removeAll()
方法的语法是:
arraylist.removeAll(Collection c);
在这里,arraylist 是 对象 的 ArrayList 类的一个 对象。
removeAll() 参数
removeAll()
方法接受一个参数。
- collection - collection 中存在的所有元素都将从 ArrayList 中删除。
removeAll() 返回值
- 如果从 ArrayList 中删除了元素,则返回
true
。 - 如果 ArrayList 中的元素类与指定的 collection 中的元素类不兼容,则抛出
ClassCastException
。 - 如果 ArrayList 包含 null 元素,而指定的 collection 不允许 null 元素,则抛出
NullPointerException
。
示例 1:从 ArrayList 中删除所有元素
import java.util.ArrayList;
class Main {
public static void main(String[] args){
// create an arraylist
ArrayList<String> languages = new ArrayList<>();
// add elements to arraylist
languages.add("Java");
languages.add("JavaScript");
languages.add("Python");
System.out.println("Programming Languages: " + languages);
// remove all elements from arraylist
languages.removeAll(languages);
System.out.println("ArrayList after removeAll(): " + languages);
}
}
输出
Programming Languages: [Java, JavaScript, Python] ArrayList after removeAll(): []
在上面的示例中,我们创建了一个名为 languages 的 ArrayList。该 ArrayList 存储编程语言的名称。注意这一行:
languages.removeAll(languages);
在这里,我们将 ArrayList languages 作为 removeAll()
方法的参数传递。因此,该方法会从 ArrayList 中删除所有元素。
注意:首选使用 clear()
方法从 ArrayList 中删除所有元素。要了解更多信息,请访问 Java ArrayList clear()。
示例 2:从 ArrayList 中删除另一个 ArrayList 中存在的所有元素
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// create an ArrayList
ArrayList<String> languages1 = new ArrayList<>();
// insert element at the end of arraylist
languages1.add("Java");
languages1.add("English");
languages1.add("C");
languages1.add("Spanish");
System.out.println("Languages1: " + languages1);
// create another arraylist
ArrayList<String> languages2 = new ArrayList<>();
// add elements to the arraylist
languages2.add("English");
languages2.add("Spanish");
System.out.println("Languages2: " + languages2);
// remove all elements of ArrayList2 from ArrayList1
languages1.removeAll(languages2);
System.out.println("Languages1 after removeAll(): " + languages1);
}
}
输出
Languages1: [Java, English, C, Spanish] Languages2: [English, Spanish] Languages1 after removeAll(): [Java, C]
在上面的示例中,我们创建了两个名为 languages1 和 languages2 的 ArrayList。注意这一行:
languages1.removeAll(languages2);
在这里,removeAll()
方法用于从 languages1 中删除所有也存在于 languages2 中的元素。因此,English 和 Spanish 从 languages1 中删除。
示例 3:从 ArrayList 中删除 HashSet 中存在的所有元素
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);
numbers.add(4);
System.out.println("ArrayList: " + numbers);
// create a HashSet
HashSet<Integer> primeNumbers = new HashSet<>();
// add elements to the HashSet
primeNumbers.add(2);
primeNumbers.add(3);
System.out.println("HashSet: " + primeNumbers);
// remove all elements of HashSet from ArrayList
numbers.removeAll(primeNumbers);
System.out.println("ArrayList after removeAll(): " + numbers);
}
}
输出
ArrayList: [1, 2, 3, 4] HashSet: [2, 3] ArrayList after removeAll(): [1, 4]
在上面的示例中,我们创建了一个名为 numbers 的 ArrayList 和一个名为 primeNumbers 的 HashSet。注意这一行:
numbers.removeAll(primeNumbers);
在这里,removeAll()
方法会从 numbers 中删除所有也存在于 primeNumbers 中的元素。因此,2 和 3 从 ArrayList numbers 中删除。
另请阅读