小编Sat*_*ish的帖子

ArrayList 索引越界异常

最近在使用 arrayList 时,我发现了一个奇怪的问题。我想在数组列表中保留 2 个元素,并希望在元素 0 中保留 object1,在 element1 中保留 object2。

我在循环中决定这个。

当它碰巧添加第一个元素时,它会抛出 indexOutofBounds。根据java doc,因为索引大于大小,所以这样做。

public static void main(String[] args) 
    {
        ArrayList<String> list = new ArrayList<String>();
        list.add(1,"SECONDITEM"); // throwing  due to size is not set
        list.add(0,"FIRSTITEM");

        int postn=0;
        for(String item:list){

            System.out.println("Position "+postn+" :"+item);
            postn++;
        }
    }
Run Code Online (Sandbox Code Playgroud)

然后我尝试将其他项目设置为 0,1 元素中的占位符并尝试做同样的事情

    public static void main(String[] args) 
    {
        ArrayList<String> list = new ArrayList<String>();
        list.add(0,"x");
        list.add(1,"y");

        list.add(1,"SECONDITEM");

        list.add(0,"FIRSTITEM");

        int postn=0;
        for(String item:list){

            System.out.println("Position "+postn+" :"+item);
            postn++;
        }
    }

    Output:
    Position 0 :FIRSTITEM
    Position 1 …
Run Code Online (Sandbox Code Playgroud)

java replace arraylist indexoutofboundsexception

0
推荐指数
1
解决办法
3万
查看次数