相关疑难解决方法(0)

为什么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);
    }
}
Run Code Online (Sandbox Code Playgroud)

但在这里它给了我输出 -

[Chris, Lois, Meg, Meg, Brain, Peter, Stewie]
[Chris, Lois, Meg, Brain, Peter, Stewie]
Run Code Online (Sandbox Code Playgroud)

我没有明白这一点,为什么这不是删除,Meg但我Meg在这种情况下只尝试了一个它正在工作.而当我Meg在最后添加更多时,我Meg没有从中删除ArrayList.为什么?

java arraylist

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

arraylist ×1

java ×1