为什么在ArrayList的括号内有一个Integer

pra*_*eth 7 java integer arraylist parentheses

在某处我看到java.util.List如下定义.
List<String> myList = new ArrayList<String>(0);
任何人都可以解释括号中的整数以及如何使用它吗?谢谢.

Kep*_*pil 5

参数决定了起始容量ArrayList.

一个ArrayList分配内存内部持有一定数量的对象.当你添加更多元素时,它必须分配更多内存并将所有数据复制到新位置,这需要一些时间.因此,您可以指定猜测将要放入多少对象ArrayList以帮助Java.
起始大小0可能表示程序员认为ArrayList很少使用它,所以不需要为它开始分配内存.

[编辑]
为了澄清,正如@LuiggiMendoza和@emory在讨论中所说的那样,很难想象一个将0初始容量用作有意义的场景.在大多数情况下,默认构造函数工作得很好.