Queue vs Dequeue in java [已关闭]

2022-08-31 20:37:42

它们之间有什么区别?我知道那件事

队列设计为在队列末尾插入元素,并从队列开头删除元素。where as Dequeue 表示一个队列,您可以在其中插入和删除队列两端的元素。

但哪个更有效率呢?

另外,它们两者之间有什么区别?因为我对它们有一点了解,我上面说了什么,但我想更多地了解它们。


答案 1

Deque是“双端队列”的缩写。使用普通队列,您可以将内容添加到一端,然后从另一端获取它们。使用双端队列,您可以将内容添加到任一端,并从任一端获取它们。这使得它更加通用;例如,如果您愿意,可以将其用作堆栈。

在效率方面,这实际上取决于实施。但一般来说,你不会期望一个 deque 的性能优于一个队列,因为(单端)队列的实现方式不允许在“错误”的一端添加或删除对象。而 deque 的任何实现也可以用作队列的实现。


答案 2

Deque 和 queue 是抽象数据类型,可以通过不同的方式实现。要讨论性能,您必须指定要比较的实现以及您感兴趣的操作。更好的是,根据应用程序具有的工作负载和要使用的环境(硬件,操作系统,JVM版本)自行进行基准测试。

由于每个 deque 也是一个队列,因此通常可以说 deques 最多可以和队列一样好。


推荐