1. 程式人生 > >ArrayList優化,ensureCapacity的使用與測試

ArrayList優化,ensureCapacity的使用與測試


 
    public static void main(String[] args) throws IOException {
        final int index=10000000;
        Object obj=new Object();
        ArrayList list1=new ArrayList();
        long start=System.currentTimeMillis();
        for(int i=0;i<index;i++){
            list1.add(obj);
        }
        System.out.println("未顯示擴容:"+(System.currentTimeMillis()-start));

        ArrayList list2=new ArrayList();
        long start2=System.currentTimeMillis();
        list2.ensureCapacity(index);//顯示的對陣列進行擴容
        for(int i=0;i<index;i++){
            list2.add(obj);
        }
        System.out.println("ensureCapacity顯示擴容:"+(System.currentTimeMillis()-start2));
    }


 
 
 
 

執行結果:

1. 當index為百萬級別時

未顯示擴容:32

ensureCapacity顯示擴容:15
 
 

2. 當index為千萬級別時

未顯示擴容:210

ensureCapacity顯示擴容:81
 
 

3.當index為億級別時

未顯示擴容:1848

ensureCapacity顯示擴容:11946
 
 
當資料量在億級以上通過顯示擴容的操作效率更低了,
這只是個人的初步測試,有什麼錯誤歡迎提出。