ArrayList中的Int参数是什么?

时间:2011-10-01 17:06:34

标签: java

这有什么区别:

ArrayList<String> test = new ArrayList<String>();

和此:

ArrayList<String> test = new ArrayList<String>(3);

我刚刚测试了阵列,我觉得没有区别......我总是看到人们在那里使用数字,它是为了什么?

4 个答案:

答案 0 :(得分:4)

Initial Capacity 通常用于提前创建具有一些存储量的列表,因此当您添加元素时,java不必为您执行此操作。或者,如果您确切知道它将具有多少条目。

要清楚,列表在以这种方式创建时仍然不包含任何元素,但这些元素的空间是保留的。

答案 1 :(得分:2)

这是列表的初始大小。如果您不提供任何参数,则会有默认的初始大小。 顺便说一句,阅读Javadoc将回答所有这些问题。

答案 2 :(得分:1)

所有数字都设置了arraylist的初始容量。 arraylist将根据需要进行扩展,但如果您已经知道至少需要X个插槽,则可以将X放在括号中,以便从一开始就分配该数量的插槽。

请在此处参阅ArrayLists的构造函数:http://download.oracle.com/javase/6/docs/api/java/util/ArrayList.html

答案 3 :(得分:1)

当你使用第二个代码时,它最初分配3个元素,第一个将分配10个元素(容量)。

  

构造一个初始容量为10的空列表。

阅读this