您可以通过执行设置 ArrayList 的初始大小
ArrayList<Integer> arr=new ArrayList<Integer>(10);
但是,你不能这样做
arr.add(5, 10);
因为它会导致越界异常。
如果您无法访问分配的空间,那么设置初始大小有什么用?
add 函数被定义为add(int index, Object element)所以我没有添加到索引 10。
add(int index, Object element)
您将数组列表的大小与其容量混淆了:
当您调用 时new ArrayList<Integer>(10),您正在设置列表的初始 容量 ,而不是其大小。换句话说,当以这种方式构造时,数组列表开始它的生命是空的。
new ArrayList<Integer>(10)
将十个元素添加到数组列表的一种方法是使用循环:
for (int i = 0; i < 10; i++) { arr.add(0); }
完成此操作后,您现在可以修改索引 0..9 处的元素。