【发布时间】:2009-12-02 20:10:36
【问题描述】:
我正在与另一名学生进行竞赛,以完成我们家庭作业的最快版本,出于性能原因,我没有使用 ArrayList(我自己调整数组的大小将基准时间从 56 秒缩短到 4 秒),但是我想知道每次需要时我应该调整多少数组。具体来说,我的代码的相关部分是:
private Node[] list;
private int size; // The number of items in the list
private static final int N; // How much to resize the list by every time
public MyClass(){
list = new Node[N];
}
public void add(Node newNode){
if(size == list.length){
list = Arrays.copyOf(list, size + N);
}
list[size] = newNode;
size++;
}
TL;DR:我应该做什么N?
【问题讨论】:
-
new是合法的变量名(在 add() 声明中)?? -
糟糕。我的意思是那是 newNode。
标签: java arrays optimization