Java 需要对队列和LinkedList实现进行一些说明吗

Java 需要对队列和LinkedList实现进行一些说明吗,java,Java,这是我的代码: /* private Queue<Card> cards = new LinkedList<Card>(); */ /* 专用队列卡=新建LinkedList(); */ 我正在使用队列和链接列表来处理一组Black Jack扑克牌 现在,我的理解是队列持有卡,LinkedList授予对队列的访问权,对吗 如果没有,有人能告诉我上述代码的详细功能吗?您没有链表和队列。该类实现该接口。您正在创建一个链表,但随后将其用作队列 现在,我的理解是队列持有卡,

这是我的代码:

/*
private Queue<Card> cards = new LinkedList<Card>();

*/
/*
专用队列卡=新建LinkedList();
*/
我正在使用队列和链接列表来处理一组Black Jack扑克牌

现在,我的理解是队列持有卡,
LinkedList
授予对
队列的访问权,对吗


如果没有,有人能告诉我上述代码的详细功能吗?

您没有链表和队列。该类实现该接口。您正在创建一个链表,但随后将其用作队列

现在,我的理解是队列持有卡,linkedlist授予对队列的访问权,对吗

不是。
Queue
是一个接口(一种抽象,一种定义契约的方式),而
LinkedList
是该接口的一个实现。换句话说,它努力履行合同

在这种特殊情况下,是一个非常严格的接口,它只公开了
LinkedList
的少数可能操作


现实生活中的例子:银行是一个有员工、财政部和办公室的机构。互联网是一种访问银行的方式,提供一些接口和功能。当使用移动应用程序或通过电话与银行顾问交谈时,您仍在使用同一家银行,但使用不同的界面。

Queue
是一种界面,它使您能够像使用Queue一样与
LinkedList的底层对象进行交互。所以您不能通过
索引
等调用方法来获取对象。所以
Queue
削减了
LinkedList
的功能,而当您想使用队列机制时,这些功能是不需要的。

太好了。非常感谢你。这意味着我可以使用与队列相关联的方法,如“添加”和“删除”正确吗?@edxyz:是的,您可以使用
队列
上可用的方法。也可以通过强制转换访问
LinkedList
上的方法,但您应该避免这样做,因为这样做会破坏将变量声明为
Queue
的目的。