Java ArrayList removeAll() 方法
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){
// 创建一个 arraylist
ArrayList<String> languages = new ArrayList<>();
// 向 arraylist 添加元素
languages.add("Java");
languages.add("JavaScript");
languages.add("Python");
System.out.println("编程语言:" + languages);
// 从 arraylist 移除所有元素
languages.removeAll(languages);
System.out.println("调用 removeAll() 后的 ArrayList:" + languages);
}
}
输出
编程语言:[Java, JavaScript, Python]
调用 removeAll() 后的 ArrayList:[]
在上面的示例中,我们创建了一个名为 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) {
// 创建一个 ArrayList
ArrayList<String> languages1 = new ArrayList<>();
// 向 arraylist 末尾插入元素
languages1.add("Java");
languages1.add("English");
languages1.add("C");
languages1.add("Spanish");
System.out.println("Languages1:" + languages1);
// 创建另一个 arraylist
ArrayList<String> languages2 = new ArrayList<>();
// 向 arraylist 添加元素
languages2.add("English");
languages2.add("Spanish");
System.out.println("Languages2:" + languages2);
// 从 ArrayList1 中移除所有存在于 ArrayList2 中的元素
languages1.removeAll(languages2);
System.out.println("调用 removeAll() 后的 Languages1:" + languages1);
}
}
```**输出**
```java
Languages1: [Java, English, C, Spanish]
Languages2: [English, Spanish]
调用 removeAll() 后的 Languages1: [Java, C]
在上面的示例中,我们创建了两个名为 languages1
和 languages2
的 arraylists。注意这一行,
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) {
// 创建一个 ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
// 向 ArrayList 添加元素
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
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 的元素
numbers.removeAll(primeNumbers);
System.out.println("调用 removeAll() 后的 ArrayList: " + numbers);
}
}
输出
ArrayList: [1, 2, 3, 4]
HashSet: [2, 3]
调用 removeAll() 后的 ArrayList: [1, 4]
在上面的示例中,我们创建了一个名为 numbers
的 arraylist 和一个名为 primeNumbers
的 hashset。注意这一行,
numbers.removeAll(primeNumbers);
这里,removeAll()
方法移除了 numbers
中所有也出现在 primeNumbers
中的元素。因此,2 和 3 被从 arraylist numbers
中移除。