【发布时间】:2013-07-15 19:47:45
【问题描述】:
我有一个仅包含两个元素的数组列表,我想将初始容量指定为 TWO,因为默认情况下初始容量为 10。
List<Integer> values = new ArrayList<integer>(2);
我会从中获得任何性能/内存优势吗?
任何讨论都将不胜感激......
【问题讨论】:
-
您将拥有 2 个参考,而不是 10 个。
-
为什么不简单使用数组呢?如果你确定你有固定大小的元素。
-
一个数组列表将匹配您存储到其中的数据的大小(默认从 10 开始)。通过使用普通数组,您可以直接指定大小,以便只有两个空间用于存储元素。
-
如果有区别,那是微不足道的。引用数组的最小分配大小应该是 16 字节的倍数。
-
如果您节省了 32 字节(8 * 4 字节),您将节省 0.00004 美分的内存。你必须做很多值得思考的事情。
标签: java collections