我对此行为有一些怀疑。我假设在实现堆栈时ArrayList的性能与ArrayDeque相同,因为ArrayDeque将使用其addLast()方法进行插入,并使用removeLast()进行删除。在这种情况下,两者的效率均相同,请更正我,如果我错了地方。

最佳答案

当用作堆栈时,ArrayDequeArrayList的性能应该几乎相同。两个“推”将摊销O(1),尽管它们的初始容量可能会对性能产生轻微影响。

default capacity for ArrayList is 10,而initial capacity of ArrayDeque is 16。他们的内部增长政策会导致较小的绩效差异,这在实践中可能并不明显。您可以参考此post以获得更多信息。

毕竟,他们的“推”操作摊销O(1)。

**此post提到ArrayDeque的javadoc表示它可能会稍快一些,但是我没有找到源。

10-05 23:21