为什么队列在Java中使用LinkedList构造函数

时间:2019-03-19 13:14:49

标签: java linked-list queue

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

但是我不明白为什么它使用LinkedList构造函数来初始化自身?

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

预先感谢

1 个答案:

答案 0 :(得分:1)

因为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