首页 > 解决方案 > 为什么队列在Java中使用LinkedList构造函数

问题描述

我试图了解 Java 中的内置队列接口。我了解如何很好地使用课程。

但我不明白为什么它使用 LinkedList 构造函数来启动自己?

为什么需要它?我们不能使用 ArrayList 实现队列吗?

提前致谢

标签: javalinked-listqueue

解决方案


因为LinkedList实现Queue,而ArrayList没有。

Queue<Object> myQueue = new LinkedList<>(); // Works, LinkedList implements Queue
Queue<Object> myQueue = new ArrayList<>(); // Doesn't compile, ArrayList doesn't implement queue

现在,如果您愿意,您可以编写一个实现 Queue 的新类,并使用 ArrayList 作为其支持容器,但我看不到吸引力,因为您已经可以从 ArrayList 初始化 LinkedList。可以说,这些方法可能会有一些性能List(如果你也实现了它),但这些Queue方法几乎没有甚至没有。

来源:QueueLinkedListArrayList的 Javadoc


推荐阅读