Java将值添加到arraylist到下一个空索引

Moh*_*bal 3 java arraylist

我想将值添加到arraylist到arraylist中找到的下一个空索引。

假设我有长度为5的ArrayList。ArrayList的索引0-2已经填充。我想向索引3添加另一个值。我有这段代码,但是它不起作用(将索引返回到绑定异常之外)。

ArrayList<String> nameList = new ArrayList<String>(5);

nameList.add(0,"a");
nameList.add(1,"b");
nameList.add(2,"c");

for (int i = 0; i < nameList.size(); i++) {
    while (!nameList.get(i).isEmpty()) i++;
    nameList.add(0,"d");
}

System.out.println(nameList);
Run Code Online (Sandbox Code Playgroud)

有什么办法可以做到这一点?

Moh*_*har 5

如在代码中一样,不需要使用循环将元素添加到arraylist中。您可以使用add()方法将元素直接添加到arraylist中。

Arraylist自动将元素添加到下一个可用索引。请参阅文档https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html

将新元素添加到arraylist的代码如下

ArrayList<String> nameList = new ArrayList<String>(5);

nameList.add(0,"a");
nameList.add(1,"b");
nameList.add(2,"c");
nameList.add(3, "d");

System.out.println(nameList);

System.out.println(nameList.get(3));
Run Code Online (Sandbox Code Playgroud)