ArrayList效率和大小

Ada*_*dam 9 java arraylist

我想要明确一些事情:当使用arraylist时,它以10个元素的大小开始.如果需要自动增加,它会将整个arrayList重写为2/3更大.

如果我正在查看最终大小为50-120的列表,那么更好的是:

  1. 立即创建它大小150并且有很多未使用的空间
  2. 允许列表自动增加几次?

谢谢

Ton*_*ony 10

如果您知道最终可能的大小,ArrayList通常最好先指定它:

ArrayList myList = new ArrayList(150);
Run Code Online (Sandbox Code Playgroud)

这样可以节省ArrayList重新分配用于存储其内容的数组的性能影响(但是,对于您指定的数组大小,此影响可以忽略不计).


Mir*_*ate 5

它的计算密集度要小得多,就像你需要的那样大,但实际上java非常有效,所以没有必要担心arraylist如何增加.但是,如果要获得最大效率,那么是的,在创建列表时分配内存更好.