Java 如何从List中删除元素
List接口是一个集合,它存储了一系列元素。ArrayList是List接口最受欢迎的实现。列表提供了将元素插入列表的精确控制。这些元素可以通过索引访问和搜索。ArrayList是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 - 如果指定元素为null且此列表不允许空元素。
示例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]