在 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) |