请教Java ArrayList的初始容量对性能的影响,javaarraylist
分享于 点击 21572 次 点评:206
请教Java ArrayList的初始容量对性能的影响,javaarraylist
向一个ArrayList集合里面存放一千万个int类型数据,当ArrayList初始容量为默认值时;需要3800多毫秒,初始容量为一万时,需要2300多毫秒,而当初始容量为十万时;需要3700多毫秒,时间增加了。(不同机器的时间可能不同,使用的是JDK1.8)。
疑问一:初始容量不是越大越好?那么初始容量为多大时,性能最优呢?
疑问二:为什么初始容量加大后,性能会降低?
测试代码如下:
@Test
public void test(){
long start = System.currentTimeMillis();
List<Integer> list = new ArrayList<>(10000);
for (int i = 0; i < 10000000; i++) {
list.add(i);
}
long end = System.currentTimeMillis();
System.out.println(end - start);
}
相关文章
- 暂无相关文章
用户点评