澄清删除Arraylist

roh*_*osh 2 java arraylist

因此,JAVA中的ArrayList具有2个删除函数:1返回oldvalue,另一个返回boolean。

remove(Object) return boolean
remove(index) return oldvalue
Run Code Online (Sandbox Code Playgroud)

现在,如果两个对象也都是整数,那么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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

m.a*_*icz 6

Java首先将选择最合适的方法版本-因为

remove(int i)
Run Code Online (Sandbox Code Playgroud)

比那更好

remove(Integer i) // autoboxing necessary
Run Code Online (Sandbox Code Playgroud)

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

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

list.remove(Integer.valueOf(myInt))
Run Code Online (Sandbox Code Playgroud)

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