首页 > 解决方案 > 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);

有没有办法实现这一目标?

标签: javaarraylist

解决方案


与代码中一样,无需使用循环将元素添加到数组列表中。您可以使用 add() 方法直接将元素添加到数组列表中。

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));

推荐阅读