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()
}
所以最后我发现区别如下:
堆栈可增长:
- Tight Strategy : 向旧堆栈添加一个常数 (N+c)
- 增长策略:将旧堆栈的大小加倍 (2N)
Arraydeque 可增长:
'Array deques have no capacity restrictions and they grow as necessary to support usage.' arraydeque
我遇到了当堆栈已满时的 grow() 方法,但是当我看到 arraydeque 中的 grow() 函数有差异时,我想知道到底有什么不同。
有人知道这个问题的答案吗?
if (s == elementData.length){
elementData = this.grow()
}
所以最后我发现区别如下:
堆栈可增长:
- Tight Strategy : 向旧堆栈添加一个常数 (N+c)
- 增长策略:将旧堆栈的大小加倍 (2N)
Arraydeque 可增长:
'Array deques have no capacity restrictions and they grow as necessary to support usage.' arraydeque