一尘不染

Java ArrayList的初始大小

java

你可以通过执行以下操作来设置ArrayList的初始大小:

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

但是,你做不到

arr.add(5, 10);

因为它会导致超出范围的异常。

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

add函数的定义是,add(int index, Object element)所以我不添加索引10。


阅读 1657

收藏
2020-03-13

共1个答案

一尘不染

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

的大小是在列表中的元素的数目;
的容量是多少元素列表可以潜在地容纳而不重新分配其内部结构。
呼叫时new ArrayList<Integer>(10),你是在设置列表的初始容量,而不是列表的大小。换句话说,以这种方式构造时,数组列表的生命开始为空。

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

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

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

2020-03-13