java.util.Stack 和 java.util.ArrayDeque 中 grow() 方法的区别

difference between the grow() methods in java.util.Stack and java.util.ArrayDeque

我遇到了当堆栈已满时的 grow() 方法,但是当我看到 arraydeque 中的 grow() 函数有差异时,我想知道到底有什么不同。

有人知道这个问题的答案吗?

if (s == elementData.length){
    elementData = this.grow()
}

所以最后我发现区别如下:

堆栈可增长:

  1. Tight Strategy : 向旧堆栈添加一个常数 (N+c)
  2. 增长策略:将旧堆栈的大小加倍 (2N)

Arraydeque 可增长:

'Array deques have no capacity restrictions and they grow as necessary to support usage.' arraydeque