我想删除索引为0和1的ArrayList中的元素.但它不起作用,我不知道如何.
代码如下所示
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Test{
public static void main(String[] args){
Collection c = new ArrayList();
c.add("A");
c.add("B");
c.add("C");
for(Iterator i = c.iterator(); i.hasNext();)
System.out.println(i.next());
System.out.println("");
c.remove(1);
c.remove(0);
for(Iterator i = c.iterator(); i.hasNext();)
System.out.println(i.next());
}
}
输出是
A B C A B C
但输出应该是
A B C C
解决方法
我相信这是因为你在Collection上调用remove(int). Collection没有声明方法remove(int),但确实有remove(Object),所以java将你的int自动装箱到一个Integer中.但由于该整数不在Collection中,因此不会删除任何内容
