如何从 Java List 中删除元素?

javaobject oriented programmingprogramming

List 接口是一个 Collection,它存储一系列元素。ArrayList 是 List 接口最流行的实现。列表让用户可以非常精确地控制在 List 中插入元素的位置。这些元素可通过其索引访问,并且可以搜索。 ArrayList 是 List 接口最常见的实现。

可以使用多种方式从 List 中删除元素。

方法 #1

使用元素的索引删除元素。

语法

E remove(int index)

注释

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

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

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

参数

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

返回

元素之前位于指定位置。

抛出

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

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

方法 #2

使用它移除元素。

语法

boolean remove(Object o)

注释

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

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

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

  • 如果此列表包含指定元素(或者,如果此列表因调用而发生变化),则返回 true。

参数

  • o - 如果存在,则从此列表中删除元素。

返回

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

抛出

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

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

  • NullPointerException - 如果指定元素为空,并且此列表不允许空元素。

示例 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(0,1,2,3,4,5,6,7,8,9));
      System.out.println("List: " + list);
     
      list.remove(1);
      System.out.println("After remove(1), List: " + list);
   }
}

输出

这将产生以下结果 −

List: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
After remove(1), List: [0, 2, 3, 4, 5, 6, 7, 8, 9]

示例 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(0,1,2,3,4,5,6,7,8,9));
      System.out.println("List: " + list);
     
      list.remove(Integer.valueOf(5));
      System.out.println("After remove(Integer.valueOf(5)), List: " + list);
   }
}

输出

这将产生以下结果 −

List: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
After remove(Integer.valueOf(5)), List: [0, 1, 2, 3, 4, 6, 7, 8, 9]

相关文章