如何在 Java 中从 ArrayList 中删除元素?


List 接口是 Java 集合框架的成员。它扩展了 Collection 并存储一系列元素。ArrayList 和 LinkedList 是 List 接口最常用的实现。List 为用户提供了对元素插入位置的精确控制。这些元素可以通过其索引访问,并且可以搜索。

List 提供了两种 remove() 方法,可以通过提供元素的索引或元素本身来从列表中删除元素。

使用索引删除。

E remove(int index)

说明

  • 删除此列表中指定位置处的元素。

  • 将后续元素向左移动(从其索引中减去一)。

  • 返回从列表中删除的元素。

参数

  • index - 要删除的元素的索引。

返回值

先前在指定位置处的元素

抛出

  • UnsupportedOperationException - 如果此列表不支持删除操作。

  • IndexOutOfBoundsException - 如果索引超出范围 (index < 0 || index >= size())。

使用对象删除。

boolean remove(Object o)

说明

  • 如果存在,则从此列表中删除指定元素的第一次出现。

  • 如果此列表不包含该元素,则保持不变。

  • 删除索引 i 最小的元素,使得 (o==null ? get(i)==null : o.equals(get(i)))(如果存在这样的元素)。

  • 如果此列表包含指定的元素(或等效地,如果此列表因调用而发生更改),则返回 true。

参数

  • o - 要从此列表中删除的元素(如果存在)。

返回值

如果此列表包含指定的元素,则返回 true。

抛出

  • ClassCastException - 如果指定元素的类型与此列表不兼容(可选)。

  • NullPointerException - 如果指定元素为 null,并且此列表不允许 null 元素(可选)。

  • UnsupportedOperationException - 如果此列表不支持删除操作。

示例 1

以下示例显示了使用 remove() 方法按索引删除元素:

package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class CollectionsDemo {
   public static void main(String[] args) {
      List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,4,5,6,7,8,9,0));
      System.out.println("List: " + list);

      // remove item at index 5,
      list.remove(5);
     
      // updated list is not having 6
      System.out.println("Updated List: " + list);
   }
}

输出

这将产生以下结果:

List: [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
Updated List: [1, 2, 3, 4, 5, 7, 8, 9, 0]

示例 2

以下示例显示了使用 remove() 方法通过传递元素来删除元素:

package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class CollectionsDemo {
   public static void main(String[] args) {
      List<Integer> list = new ArrayList<>(Arrays.asList(1,2,3,4,5,6,7,8,9,0));
      System.out.println("List: " + list);

      // remove the item 7,
      list.remove(Integer.valueOf(7));

      // updated list is not having 7
      System.out.println("Updated List: " + list);
   }
}

输出

这将产生以下结果:

List: [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
Updated List: [1, 2, 3, 4, 5, 6, 8, 9, 0]

更新于: 2022-05-26

462 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告