Java 队列和堆栈通常是如何实现的?

Java 队列和堆栈通常是如何实现的?,java,data-structures,Java,Data Structures,据 ,第4页和第5页 我们可以用数组或链表实现队列 我们可以用数组或链表实现堆栈 它是单链表还是双链表 此外,何时使用数组以及何时使用链接结构?堆栈通常使用数组实现。这是因为项目总是从同一端添加/删除。另一端从不移动 队列通常实现为单链表,因为这是最简单的实现。它可以实现为一个数组,但这更难,而且只在Java版本6中添加了它。堆栈通常使用数组实现。这是因为项目总是从同一端添加/删除。另一端从不移动 队列通常实现为单链表,因为这是最简单的实现。它可以实现为一个数组,但这更难,而且仅在Java版本

,第4页和第5页

我们可以用数组或链表实现队列

我们可以用数组或链表实现堆栈

它是单链表还是双链表


此外,何时使用数组以及何时使用链接结构?

堆栈通常使用数组实现。这是因为项目总是从同一端添加/删除。另一端从不移动


队列通常实现为单链表,因为这是最简单的实现。它可以实现为一个数组,但这更难,而且只在Java版本6中添加了它。

堆栈通常使用数组实现。这是因为项目总是从同一端添加/删除。另一端从不移动


队列通常实现为单链表,因为这是最简单的实现。它可以实现为一个数组,但这更难,而且仅在Java版本6中添加。

了解队列和堆栈以及ArrayList和LinkedList操作的复杂性,您将能够自己回答这个问题。同时看看上面这些类的源代码。你怎么能使用数组呢?它不是动态的。它不能随着推/弹出或添加/获取而增长和收缩。只需创建一个新的更大的数组并在元素上进行复制。这听起来像是一个永远不应该用于实现队列/堆栈的想法。在特定的环境/用法/假设下,数组并不是一个坏主意。您只需要知道如何定义所述假设并确定环境/用途。了解队列和堆栈以及ArrayList和LinkedList操作的复杂性,您将能够自己回答这个问题。同时看看上面这些类的源代码。你怎么能使用数组呢?它不是动态的。它不能随着推/弹出或添加/获取而增长和收缩。只需创建一个新的更大的数组并在元素上进行复制。这听起来像是一个永远不应该用于实现队列/堆栈的想法。在特定的环境/用法/假设下,数组并不是一个坏主意。您只需要知道如何定义所述假设并确定环境/用途。