我想删除索引为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中,因此不会删除任何内容