首页 > 解决方案 > 澄清 Arraylist 的删除

问题描述

所以 JAVA 中的 ArrayList 有 2 个删除函数 1 返回旧值,另一个返回布尔值。

remove(Object) return boolean
remove(index) return oldvalue

现在如果两个对象也是整数那么JAVA如何区分

例如:- 在代码中 arr.remove(j);

代码

ArrayList<Integer> arr = new ArrayList<Integer>();
for (int i = 2; i < 239697453; i++) {
    arr.add(i);
}
int a = arr.size();
for (int i = 2; i < a; i++) {
    for (int j = 0 j < a; j++) {
        if (arr.get(j) % i == 0) {
            arr.remove(j);
        }
    }
}

标签: javaarraylist

解决方案


Java首先会选择最合适的方法版本——因为

remove(int i)

remove(Integer i) // autoboxing necessary

它将调用方法的索引版本remove

要强制 Java 使用项目版本,您可以Integer使用创建对象Integer.valueOf()并将其传递给remove方法

list.remove(Integer.valueOf(myInt))

请参阅相关页面,Java 中的 Integer 和 int 有什么区别?


推荐阅读