Java 使用remove(对象)从LinkedList中删除整数
我想使用items值从Integer LinkedList中删除一个项。但是我得到的是ArrayIndexOutOfBoundExceptionJava 使用remove(对象)从LinkedList中删除整数,java,collections,linked-list,doubly-linked-list,Java,Collections,Linked List,Doubly Linked List,我想使用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(1
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);
}
}
LinkedList将我传递的数字视为索引而不是值。因此,如何在不使用索引号的情况下将项目10作为值删除。您应该使用接受整数对象的版本:
list.remove(Integer.valueOf(10)));
,而不是将索引作为int数据类型的版本:
list.remove(10);
您应该使用接受整数对象的版本:
list.remove(Integer.valueOf(10)));
,而不是将索引作为int数据类型的版本:
list.remove(10);
如果查看remove,则需要删除索引、对象或对象本身,或者不需要参数
除去
检索并删除此列表的头一个元素
去除指数
删除此列表中指定位置的元素
移除对象
从该列表中删除指定元素的第一个匹配项(如果存在)
在您的情况下,如果传递int,它将使用该方法删除该索引处的对象,并且它应为0,因为它是第一个元素:
public static void main(String[] args) {
List<Integer> list = new LinkedList<Integer>();
list.add(10);
list.add(20);
list.add(5);
list.remove(0);
System.out.println("Size: " + list.size());
for (Integer integer : list) {
System.out.println(integer);
}
}
如果要删除某个值,在本例中应传递一个对象,而不是。如果查看remove,则需要索引、要删除的对象或对象本身,或者不需要参数
除去
检索并删除此列表的头一个元素
去除指数
删除此列表中指定位置的元素
移除对象
从该列表中删除指定元素的第一个匹配项(如果存在)
在您的情况下,如果传递int,它将使用该方法删除该索引处的对象,并且它应为0,因为它是第一个元素:
public static void main(String[] args) {
List<Integer> list = new LinkedList<Integer>();
list.add(10);
list.add(20);
list.add(5);
list.remove(0);
System.out.println("Size: " + list.size());
for (Integer integer : list) {
System.out.println(integer);
}
}
如果要删除一个值,在这种情况下,您应该传递一个对象,而不是。而不是强制创建一个新的整数对象,您应该使用自动装箱,即list.removeInteger10;或list.removeinterger.valueOf10;。您应该使用自动装箱,即list.removeinterger10,而不是强制创建新的整数对象;或list.removeinterger.valueOf10;。您的问题…使用removeObject已经指向它,list.removeObject10;您的问题…使用removeObject已经指向它,list.removeObject10;非常感谢。我现在明白了,谢谢。我现在明白了。