我在某处看到一个 java.util.List
定义如下。
List<String> myList = new ArrayList<String>(0);
任何人都可以解释括号中的整数的作用以及如何使用它吗?谢谢。
最佳答案
参数决定ArrayList
的起始容量。
ArrayList
在内部分配内存以容纳一定数量的对象。当您也添加更多元素时,它必须分配更多内存并将所有数据复制到新位置,这需要一些时间。因此,您可以指定猜测要在 ArrayList
中放入多少个对象以帮助 Java。
0
的起始大小可能表明程序员认为ArrayList
将很少被使用,因此不需要为其分配内存。
[编辑]
需要澄清的是,正如@LuiggiMendoza 和@emory 在讨论中所说的那样,很难想到使用 0
作为初始容量有意义的场景。在大多数情况下,默认构造函数工作得很好。
关于java - 为什么在 ArrayList 的括号内有一个 Integer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11464332/