如何從Java列表中刪除元素?


List 介面是一個集合,它儲存一系列元素。ArrayList 是 List 介面最流行的實現。列表為使用者提供了對元素插入位置的精確控制。這些元素可以透過索引訪問,並且可以進行搜尋。ArrayList 是 List 介面最常見的實現。

可以使用多種方法從列表中刪除元素。

方法一

使用索引刪除元素。

語法

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。

丟擲

  • 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]

更新於:2022年5月26日

5K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告