你将数组列表的大小与其容量混淆了:
的大小是在列表中的元素的数目;
的容量是多少元素列表可以潜在地容纳而不重新分配其内部结构。
呼叫时
new ArrayList<Integer>(10),你是在设置列表的初始容量,而不是列表的大小。换句话说,以这种方式构造时,数组列表的生命开始为空。
将十个元素添加到数组列表的一种方法是使用循环:
for (int i = 0; i < 10; i++) { arr.add(0);}完成此操作后,你现在可以修改索引为0..9的元素。

你将数组列表的大小与其容量混淆了:
的大小是在列表中的元素的数目;
的容量是多少元素列表可以潜在地容纳而不重新分配其内部结构。
呼叫时
new ArrayList<Integer>(10),你是在设置列表的初始容量,而不是列表的大小。换句话说,以这种方式构造时,数组列表的生命开始为空。
将十个元素添加到数组列表的一种方法是使用循环:
for (int i = 0; i < 10; i++) { arr.add(0);}完成此操作后,你现在可以修改索引为0..9的元素。