ArrayList.remove 在循环中不起作用
我有以下代码-
import java.util.ArrayList;
public class ArrayListExp{
public static void main (String[] args){
ArrayList<String> name = new ArrayList<String>();
name.add("Chris");
name.add("Lois");
name.add("Meg");
name.add("Meg");
name.add("Brain");
name.add("Peter");
name.add("Stewie");
System.out.println(name);
for ( int i = 0; i < name.size(); i++){
String oldName = name.get(i);
if(oldName.equals("Meg"))
{
name.remove(i);
}
}
System.out.println(name);
}
}
但在这里它给了我输出 -
[Chris, Lois, Meg, Meg, Brain, Peter, Stewie]
[Chris, Lois, Meg, Brain, Peter, Stewie]
我不明白,为什么这不是删除,但我只尝试过一个在这种情况下它正在工作。而我,当我在最后添加更多时,该一个不会从中删除。为什么?Meg
Meg
Meg
Meg
ArrayList