Java 6SE中ArrayList的增长策略

Jef*_*eck 2 java optimization arraylist

我想知道是否有人知道Java 1.6中ArrayList的增长政策?java doc说

除了添加元素具有恒定的摊销时间成本这一事实之外,未指定增长策略的详细信息.

但我只是想知道细节,因为我知道我的目标是开始,但我想确保我的初始大小足够大,不会导致立即调整大小.我知道使用HashMap你可以设置一个负载因子在背景中发生了类似的事情吗?还是在太空出来的时候它总是在增长?

x4u*_*x4u 6

ArrayList不需要loadFactor,因为它在100%填充时总是会增长,因此您可以使用您事先知道的大小创建它,如果稍后填充那么多元素,它就不会增长.另一方面,Hashtables的填充越多,效率越低,因此您可以使用loadFactor调整性能和浪费空间之间的传递,但对于像ArrayList这样的可扩展数组则不然.