在 Java 中,ArrayList.clear() 和 ArrayList.removeAll() 都是用于从 ArrayList 中删除元素的,但它们的用途不同,本文将解释这两种方法的区别。
ArrayList.clear() 方法
Java 中 ArrayList 的 clear() 方法用于删除列表中的所有元素。
语法:
public void clear()
参数:clear 方法不需要任何参数。
返回类型:它不返回任何值,因为它会删除列表中的所有元素并使其为空。
ArrayList.clear() 方法示例
本示例展示了 ArrayList.clear() 方法的实现。
import java.util.ArrayList; // Driver Class class GFG { // Main Method public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); // Adding Elements in the List list.add("Geeks"); list.add("for"); list.add("geeks"); // Printing the List System.out.println("The list initially: " + list); // Clearing the List list.clear(); // Empty List System.out.println("The list after using clear() method: " +list); } }
输出:
The list initially: [Geeks, for, geeks] The list after using clear() method: []
上述程序的解释:
在这个示例中,我们创建了一个名为 "list "的新 ArrayList,并使用 add() 方法向其中添加了一些元素。然后,我们打印 ArrayList 中的元素。接着,我们调用 clear() 方法删除 ArrayList 中的所有元素。最后,我们再次打印 ArrayList 中的元素,以证明它现在是空的。
ArrayList.removeAll() 方法
该方法用于从指定列表中删除集合中的所有元素。
语法:
boolean removeAll(Collection c)
参数:该方法只有一个参数,即要从指定列表中删除的元素集合。
返回类型:如果元素被删除,且列表发生变化,则此方法返回 True。
ArrayList.removeAll() 方法示例
此示例显示了 ArrayList.removeAll() 方法的实现。
import java.util.ArrayList; import java.util.Collection; import java.util.Arrays; // Driver Class class GFG{ // Main Method public static void main(String[] args) { ArrayList<String> result = new ArrayList<>(); // Adding Elements in ArrayList result.add("1"); result.add("2"); result.add("3"); result.add("4"); // Creating Collection for Elements to be Removed Collection<String> toRemove = Arrays.asList("1", "4"); // Removing Elements from the ArrayList boolean output = result.removeAll(toRemove); System.out.println("List after removeAll: " + result); System.out.println("Is the elements are removed? " + output); } }
输出:
List after removeAll: [2, 3] Is the elements are removed? true
上述程序的解释:
在此示例中,我们创建了一个名为 "result "的新 ArrayList,并使用 add() 方法向其中添加了一些元素。然后,我们需要创建一个集合,并向集合提供一个参数,其中包含要从 ArrayList 中移除的元素。接下来,我们调用 removeAll() 方法从 ArrayList 中删除元素。 最后,我们再次打印 ArrayList 中的元素,以证明元素已被删除。在这里您还可以打印 boolean 结果。
ArrayList.clear() |
ArrayList.removeAll() | |
---|---|---|
目的 |
此方法用于删除所有元素。 |
此方法用于删除 arraylist 和集合中存在的元素。 |
参数 |
它不接受任何参数。 |
它将集合作为参数。 |
返回类型 |
它不返回任何值 |
它返回布尔值(如果修改则为 true)。 |
性能 |
高效 |
取决于列表和集合的大小 |
调用方式 |
list.clear() |
list.removeAll(collection) |
时间复杂度 |
O(n) |
O(n * m) (n = size of list, m = size of collection) |
空间复杂度 |
O(1) |
O(1) |