ArrayList优化,ensureCapacity的使用与测试

xiaoxiao2021-02-28  13

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 当数据量在亿级以上通过显示扩容的操作效率更低了, 这只是个人的初步测试,有什么错误欢迎提出。

转载请注明原文地址: https://www.6miu.com/read-450246.html

最新回复(0)