如何在 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]