我已经创建了像这样的arraylist
List<Integer> i = new ArrayList<Integer>(2);
i.add(1);
i.add(2);
i.add(3);
i.add(4);
但我没有得到任何例外,虽然我已经将初始容量定义为2为什么不抛出任何异常? 列表在达到上述容量后会自动增长吗?
答案 0 :(得分:3)
初始容量不是限制。它表示在必须重新分配列表之前可以将多少数据放入列表中。
答案 1 :(得分:1)
您没有获得异常,因为您对行为进行了假设 ...您没有进行交叉检查。当代码没有按照您的预期行事时,您的期望往往是错误的。
在这种情况下,您转向Javadoc并找到:
每个ArrayList实例都有一个容量。容量是用于存储列表中元素的数组的大小。它始终至少与列表大小一样大。随着元素添加到ArrayList,其容量会自动增长。