【发布时间】:2020-03-22 15:20:12
【问题描述】:
我想使用 items 值从 Integer LinkedList 中删除一个项目。但相反,我得到了 ArrayIndexOutOfBoundException。
public static void main(String[] args) {
List<Integer> list = new LinkedList<Integer>();
list.add(10);
list.add(20);
list.add(5);
list.remove(10);
System.out.println("Size: " + list.size());
for (Integer integer : list) {
System.out.println(integer);
}
}
我期望的输出是一个只有 2 个元素 20 和 5 的列表。但我得到以下异常:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 10, Size: 3
at java.base/java.util.LinkedList.checkElementIndex(LinkedList.java:559)
at java.base/java.util.LinkedList.remove(LinkedList.java:529)
at Collections.LinkedListTest.main(LinkedListTest.java:15)
LinkedList 将我传递的数字视为索引而不是值。那么如何在不使用索引号的情况下将项目 10 作为值删除。
【问题讨论】:
-
你的问题“...using remove(Object)”已经指向它了,
list.remove((Object)10);
标签: java collections linked-list doubly-linked-list