它们之间有什么区别?我知道
队列是设计用来在队列末尾插入元素,并从队列开头删除元素的,而双端队列表示您可以从队列的两端插入和删除元素。
但哪个更有效率?
此外,它们之间有什么区别?因为我对它们有一点了解,就像上面所说的那样,但我想更多地了解它们。
它们之间有什么区别?我知道
队列是设计用来在队列末尾插入元素,并从队列开头删除元素的,而双端队列表示您可以从队列的两端插入和删除元素。
但哪个更有效率?
此外,它们之间有什么区别?因为我对它们有一点了解,就像上面所说的那样,但我想更多地了解它们。
Deque是“双端队列”的缩写。普通队列是从一端添加元素,从另一端取出元素。而双端队列可以在任一端添加或取出元素,这使它更加灵活;例如,您可以将其用作堆栈。
就效率而言,这实际上取决于具体的实现方式。但一般来说,您不会指望deque比queue表现更好,因为(单端)队列可能以一种不允许在“错误”的一端添加或删除对象的方式实现。而任何deque的实现也将作为队列的实现。
Deque和queue是可以用不同方式实现的抽象数据类型。要讨论性能,您必须指定想要比较的实现以及您感兴趣的操作。更好的方法是使用应用程序的工作负载在您将要使用的环境中(硬件、操作系统、JVM版本)进行基准测试。
由于每个deque也是queue,因此通常可以说deques最多只能与queue一样好。
grepcode java queue
和grepcode java dequeue
同时搜索谷歌,以查看它们的实现差异。 - JayC667