Java 中 ArrayList.clear() 和 ArrayList.removeAll() 的区别是什么?
Java 中的 ArrayList 类是 List 接口的可调整大小数组实现。它允许 null 值。
该类的 clear() 方法会删除当前 List 对象中的所有元素。
clear() 方法与 removeAll() 方法
ArrayList 类中 clear() 和 removeAll(Collection c) 方法之间的一些重要区别。此表让我们了解这两种方法之间的比较。
| 关键 | clear() | removeAll() |
|---|---|---|
| 功能 | 删除当前列表中的所有元素。 | 删除指定集合中存在的元素。 |
| 结果 | 清空整个列表,导致一个空列表。 | 仅删除与提供的集合中元素匹配的特定元素。 |
| 参数 | 不接受任何参数。 | 需要另一个集合作为参数。 |
| 返回类型 | 不返回值(void 方法)。 | 如果由于调用而修改了列表,则返回 true。 |
示例
import java.util.ArrayList;
public class ClearExample {
public static void main(String[] args){
//Instantiating an ArrayList object
ArrayList<String> list = new ArrayList<String>();
list.add("JavaFX");
list.add("Java");
list.add("WebGL");
list.add("OpenCV");
list.add("Impala");
System.out.println("Contents of the Array List: \n"+list);
//Removing the sub list
list.clear();
System.out.println("Contents of the ArrayList object after invoking the clear() method: "+list);
}
}
输出
Contents of the Array List: [JavaFX, Java, WebGL, OpenCV, Impala] Contents of the ArrayList object after invoking the clear() method: []
而 ArrayList 类的 removeAll() 方法接受另一个集合对象作为参数,并从当前 ArrayList 中删除它的所有内容。
示例
import java.util.ArrayList;
public class ClearExample {
public static void main(String[] args){
//Instantiating an ArrayList object
ArrayList<String> list1 = new ArrayList<String>();
list1.add("JavaFX");
list1.add("Java");
list1.add("WebGL");
list1.add("OpenCV");
list1.add("OpenNLP");
list1.add("JOGL");
list1.add("Hadoop");
list1.add("HBase");
list1.add("Flume");
list1.add("Mahout");
list1.add("Impala");
System.out.println("Contents of the Array List1 : \n"+list1);
ArrayList<String> list2 = new ArrayList<String>();
list2.add("JOGL");
list2.add("Hadoop");
list2.add("HBase");
list2.add("Flume");
list2.add("Mahout");
list2.add("Impala");
System.out.println("Contents of the Array List1 : \n"+list2);
//Removing elements
list1.removeAll(list2);
System.out.println("Contents of the Array List after removal: \n"+list1);
}
}
输出
Contents of the Array List1 : [JavaFX, Java, WebGL, OpenCV, OpenNLP, JOGL, Hadoop, HBase, Flume, Mahout, Impala] Contents of the Array List1 : [JOGL, Hadoop, HBase, Flume, Mahout, Impala] Contents of the Array List after removal: [JavaFX, Java, WebGL, OpenCV, OpenNLP]
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP