首先就这个问题分析,当你遍历的时候,从第0个元素开始,移除了第0个元素"java",随后aaa,java,java变成了第0,1,2个元素,接下来遍历的索引是1,就是拿到的是原来list里面索引为2的java,移除掉。接下来数组变成aaa,java,并且索引为0,1,当下一次循环的时候,索引为2,就不再进去了。要改正这个程序,应该这样:
public class Main {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("java");
list.add("aaa");
list.add("java");
list.add("java");
for (int i = list.size(); i >= 0; i--) {
list.remove("java");
}
System.out.println(list);
}
} |