切换语言为:繁体
在 Java 中 ArrayList.clear() 和 ArrayList.removeAll() 区别是什么

在 Java 中 ArrayList.clear() 和 ArrayList.removeAll() 区别是什么

  • 爱糖宝
  • 2024-07-22
  • 2098
  • 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.