Remove an Element from ArrayList in Java

2025年3月31日 | 阅读 4 分钟

ArrayList 类似于数组,但其大小可以修改。ArrayList 类位于 Java.util 包中,并扩展了 List 接口。使用其内置的 add()remove() 方法,可以非常方便地向 ArrayList 添加和从中移除元素。然而,从 ArrayList 中移除元素的方法不止一种,如下所示:

  1. 使用 ArrayList.remove() 方法
    1. 按索引移除。
    2. 按元素移除
  2. 使用 Iterator.remove() 方法
  3. 使用 ArrayList.removeIf() 方法
Remove an Element from ArrayList in Java

这三种方法在各自的场景下都很好用,并且可以在不同的情况下使用。让我们逐一了解这三种方法。

ArrayList.remove() 方法

使用 ArrayList 类remove() 方法是从 ArrayList 中删除或移除元素的**最快**方法。它还提供了两个重载方法,即 remove(int index)remove(Object obj)remove(int index) 方法接受要移除对象的索引,而 remove(Object obj) 方法接受要移除的对象。

让我们举例说明如何使用 remove() 方法。

RemoveMethod.java

输出

Remove an Element from ArrayList in Java

让我们再举一个例子,说明如何使用 remove() 方法从 ArrayList 中移除指定的元素。

RemoveElementMethod.java

输出

Remove an Element from ArrayList in Java

Iterator.remove() 方法

Iterator.remove() 方法是另一种从 ArrayList 中移除元素的方法。当在迭代元素时使用 remove() 方法,它会抛出 ConcurrentModificationException,所以在这种情况下它并不那么有用。Iterator 类在迭代 ArrayList 时可以正确地移除元素。

让我们举例说明如何使用 Iterator.remove() 方法。

IteratorRemoveMethod.java

输出

Remove an Element from ArrayList in Java

ArrayList.removeIf() 方法

如果我们想从 ArrayList 中移除满足谓词过滤器的元素,那么 removeIf() 方法最适合这种情况。我们将谓词过滤器作为参数传递给该方法。

让我们举例说明如何使用 removeIf() 方法。

RemoveIfMethod.java

输出

Remove an Element from ArrayList in Java

上面讨论的所有方法都用于不同的场景。使用 ArrayList.remove() 方法是从 ArrayList 中移除元素的**最快**方法。