小编典典

ArrayList 的初始大小

all

您可以通过执行设置 ArrayList 的初始大小

ArrayList<Integer> arr=new ArrayList<Integer>(10);

但是,你不能这样做

arr.add(5, 10);

因为它会导致越界异常。

如果您无法访问分配的空间,那么设置初始大小有什么用?

add 函数被定义为add(int index, Object element)所以我没有添加到索引 10。


阅读 92

收藏
2022-04-15

共1个答案

小编典典

您将数组列表的大小与其容量混淆了:

  • 大小 是列表中元素的数量;
  • 容量 是列表可以容纳多少元素而不重新分配其内部结构。

当您调用 时new ArrayList<Integer>(10),您正在设置列表的初始 容量
,而不是其大小。换句话说,当以这种方式构造时,数组列表开始它的生命是空的。

将十个元素添加到数组列表的一种方法是使用循环:

for (int i = 0; i < 10; i++) {
  arr.add(0);
}

完成此操作后,您现在可以修改索引 0..9 处的元素。

2022-04-15