Java LinkedList:同时使用列表和队列接口?

Java LinkedList:同时使用列表和队列接口?,java,collections,linked-list,Java,Collections,Linked List,我意识到Java中的LinkedList除了实现List接口之外,还实现了Queue接口(通过:Deque) 请参阅下文,该片段取自Javadoc: 为什么它是这样设计的,也就是说,它是队列以及列表?那么,这是否意味着链接列表既是一个队列,也是一个列表?链接列表自然就是一个队列。事实上,即使在Java之前,如果您想要一个对条目数量没有固定限制的队列,那么通常选择链表结构 链表有一个顺序,O(1)表示在尾部添加内容,O(1)表示从头部删除内容。您可以随时添加条目。总之,这正是您在队列中需要的 如

我意识到Java中的
LinkedList
除了实现
List
接口之外,还实现了
Queue
接口(通过:
Deque

请参阅下文,该片段取自Javadoc:


为什么它是这样设计的,也就是说,它是
队列
以及
列表
?那么,这是否意味着链接列表既是一个队列,也是一个列表?

链接列表自然就是一个队列。事实上,即使在Java之前,如果您想要一个对条目数量没有固定限制的队列,那么通常选择链表结构

链表有一个顺序,O(1)表示在尾部添加内容,O(1)表示从头部删除内容。您可以随时添加条目。总之,这正是您在队列中需要的


如果一个链表不能很容易地提供这个接口,那么对“队列”的定义就很奇怪了。

或@SotiriosDelimanolis:谢谢你指出了这些链接,但是,为什么不能
LinkedList
只使用
list
,这就是目的(列表实现)。有两个接口给了它两种不同的功能,这是我的困惑。在第一个重复的地址中接受的答案是。这回答了你的问题吗?这里很大一部分的问题是你对词语的选择。它不“使用”这些接口,而是实现它们。使用它们的是调用应用程序,而
LinkedList
为应用程序提供了一个选项,应用程序可以将该选项设置为更好地表达列表的实际用途。你声称这些能力不同是错误的。
队列
的功能是
列表
功能的子集。