java - ArrayList#remove() 方法之间的区别

标签 java arraylist indexing indexoutofboundsexception

我有一个整数 ArrayList;

ArrayList<Integer> list = new ArrayList<>();
list.add(8);
list.add(20);
list.add(50);

我还有一个变量,它被设置为该 ArrayList 中的随机项。我想从数组列表中删除变量中的项目,所以我尝试了这个;

list.remove(var);

但是,它假设由于 var 是一个整数,因此它会尝试获取 var 位置处的索引,而不是搜索并删除它。但由于列表中的每个项目都大于它的大小,因此它总是给出 ArrayOutOfBoundsException。有没有办法强制 Java 尝试使用正确的删除方法?

最佳答案

您需要传递一个整数 - 您的主要选项是:

Integer valueToRemove = 8;
list.remove(valueToRemove);

int anotherOne = 20;
list.remove(Integer.valueOf(anotherOne));

int andFinally = 50;
list.remove((Integer) andFinally);

关于java - ArrayList#remove() 方法之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21817885/

相关文章:

java - WireMock 的嵌入式 Jetty 服务器在 Android ApplicationTestCase 期间不会 .stop()

java - 从已排序数组的数组中获取 N 个已排序项

java - ArrayList 中存储的数组的逆序

javascript - 使用 javascript 索引 mongodb

python - 访问不同级别的多级索引,然后将该索引的列转换为数组,然后传递给函数

tsql - Sybase 存储过程 - 如何在 #table 上创建索引?

java - 知道找到了正则表达式的哪个关键字

java - 为什么要池化无状态 EJB?

java - 每次实例化子类时都会创建父类(super class)对象吗?

JAVA——关于ArrayList