//来源于http://www.iteye.com/topic/577602
import java.util.ArrayList;
public class EnsureCapacityTest {
public static void main(String[] args){
final int N = 1000000; //very large may lead to error of java.lang.OutOfMemoryError: Java heap space
Object obj = new Object();
//没用调用ensureCapacity()方法初始化ArrayList对象
ArrayList<Object> list = new ArrayList<Object>();
long startTime = System.currentTimeMillis();
for(int i=0;i<=N;i++){
list.add(obj);
}
long endTime = System.currentTimeMillis();
System.out.println("没有调用ensureCapacity()方法所用时间:" + (endTime - startTime) + "ms");
//调用ensureCapacity()方法初始化ArrayList对象
list = new ArrayList<Object>();
startTime = System.currentTimeMillis();
list.ensureCapacity(N);//预先设置list的大小
for(int i=0;i<=N;i++){
list.add(obj);
}
endTime = System.currentTimeMillis();
System.out.println("调用ensureCapacity()方法所用时间:" + (endTime - startTime) + "ms");
}
}
转载于:https://blog.51cto.com/wudong/794794