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