指定阵列列表大小和容量?

时间:2016-10-16 05:59:24

标签: java sorting arraylist

我已经创建了像这样的arraylist

List<Integer> i = new ArrayList<Integer>(2);

i.add(1);
i.add(2);
i.add(3);
i.add(4);

但我没有得到任何例外,虽然我已经将初始容量定义为2为什么不抛出任何异常? 列表在达到上述容量后会自动增长吗?

2 个答案:

答案 0 :(得分:3)

初始容量不是限制。它表示在必须重新分配列表之前可以将多少数据放入列表中。

答案 1 :(得分:1)

您没有获得异常,因为您对行为进行了假设 ...您没有进行交叉检查。当代码没有按照您的预期行事时,您的期望往往是错误的。

在这种情况下,您转向Javadoc并找到:

每个ArrayList实例都有一个容量。容量是用于存储列表中元素的数组的大小。它始终至少与列表大小一样大。随着元素添加到ArrayList,其容量会自动增长。