问题描述
我遇到了当堆栈已满时的grow() 方法,但是当我看到arraydeque 中的grow() 函数有区别时,我想知道区别究竟是什么。
有人知道答案吗?
if (s == elementData.length){
elementData = this.grow()
}
解决方法
所以最终我发现差异如下:
堆栈可增长:
- Tight 策略:向旧堆栈添加一个常量 (N+c)
- 增长策略:将旧堆栈的大小加倍 (2N)
Arraydeque 可增长:
'数组双端队列没有容量限制,它们会根据需要增长以支持使用。' arraydeque