Java中的ArrayList类问题

use*_*155 2 java algorithm arraylist

我有以下代码的问题.我收到了错误消息

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(ArrayList.java:571)
    at java.util.ArrayList.set(ArrayList.java:364)
    at Test.main(Test.java:17)
Run Code Online (Sandbox Code Playgroud)

而且我不明白为什么.我有一个列表,初始化,然后我迭代它,然后我想用第一个列表的值填充另一个列表.我不明白为什么我得到IndexOutOfBoundsException.我的初始化似乎不正确.非常感谢提前.

public static void main(String[] args) {

        String s1 = "one";
        String s2 = "one";
        ArrayList list = new ArrayList();
        list.set(0, s1);
        list.set(1, s2);
        Iterator it = list.iterator();
        ArrayList listToFill = new ArrayList();
        int k = 0;
        while (it.hasNext()) {
            String m = "m";
            listToFill.set(k, m);
            k++;
        }

    }
Run Code Online (Sandbox Code Playgroud)

tst*_*ter 11

您使用错误的方法添加项目.

或者:

list.add(0, s1);
list.add(1, s2);
Run Code Online (Sandbox Code Playgroud)

或者最好:

list.add(s1);
list.add(s2);
Run Code Online (Sandbox Code Playgroud)

set尝试替换当前存在的项目,但还没有任何东西.

更多信息