如何从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]
广告