切換語言為:簡體
在 Java 中 ArrayList.clear() 和 ArrayList.removeAll() 區別是什麼

在 Java 中 ArrayList.clear() 和 ArrayList.removeAll() 區別是什麼

  • 爱糖宝
  • 2024-07-22
  • 2100
  • 0
  • 0

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

0則評論

您的電子郵件等資訊不會被公開,以下所有項目均必填

OK! You can skip this field.