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

标签 java arraylist integer parentheses

我在某处看到一个 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/

相关文章:

java - 初学者...坚持如何在 Java 中使用 FormattedFields 插入日期

java - 如何从quickfixj中的重复组中获取值(value)

java - 如何在返回方法的循环内返回值?

java - 为什么在 Java 中使用静态嵌套类?

java - 通过从扫描仪中读取行来实例化一个 ArrayList,在哪里声明对象?

arrays - Flutter - 在同一指令中创建列表和 'addAll'

java - 使用Comparator对ArrayList进行排序时未打印出值

java - 使用 Integer 时使用 IntegerCache 有什么好处?

java - 扩展java整数缓存

javascript - 在 JavaScript 中,整数在存储布局中是如何表示的?