我正在瀏覽如何創建自己的列表並登錄在此網站http://www.vogella.com/tutorials/JavaDatastructureList/article.html他們有以下方法。確保列表的容量
private void ensureCapa() {
int newSize = elements.length * 2;
elements = Arrays.copyOf(elements, newSize);
}
我發現了許多其他網站類似的方法和明白的ensureCapacity一樣。但我不明白爲什麼長度乘以2(elements.length * 2)。是否有特定的原因或者是否因數據類型而異?
在此先感謝。
這是爲了使'add()'操作的平均成本爲O(1)':'1 + 2 + 4 + ... + 2^n = 2 * 2^n - 1' - > n個插入成本〜O(n) –