Java List:初始大小

Mat*_*oli 7 java optimization list

哪种方式更适合初始化Java List:

  • new ArrayList<String>(futureSize)

  • new ArrayList<String>(futureSize + 1)

(为了防止列表的大小调整)

futureSize 是填充后的列表的未来大小.

注意:如果您要评论/回答有关"过早优化是......"的任何内容,"您应该反而......",请不要.我正在寻找我的问题的答案,就是这样.

Luk*_*der 4

从and的实现可以看出add(E e)(类似方法)

public boolean add(E e) {
    ensureCapacity(size + 1);
    elementData[size++] = e;
    return true;
}
Run Code Online (Sandbox Code Playgroud)

...如果您使用,您不应该遇到麻烦(即内部数组未调整大小)

new ArrayList<String>(futureSize)
Run Code Online (Sandbox Code Playgroud)