我对此行为有一些怀疑。我假设在实现堆栈时ArrayList的性能与ArrayDeque相同,因为ArrayDeque将使用其addLast()方法进行插入,并使用removeLast()进行删除。在这种情况下,两者的效率均相同,请更正我,如果我错了地方。
最佳答案
当用作堆栈时,ArrayDeque
和ArrayList
的性能应该几乎相同。两个“推”将摊销O(1),尽管它们的初始容量可能会对性能产生轻微影响。
default capacity for ArrayList
is 10,而initial capacity of ArrayDeque
is 16。他们的内部增长政策会导致较小的绩效差异,这在实践中可能并不明显。您可以参考此post以获得更多信息。
毕竟,他们的“推”操作摊销O(1)。
**此post提到ArrayDeque
的javadoc表示它可能会稍快一些,但是我没有找到源。