这是我的代码:需要一些澄清队列和链表实现
/*
private Queue<Card> cards = new LinkedList<Card>();
*/
我使用的是队列和链表处理的黑杰克一副扑克牌。
现在,我的理解是队列持有卡,并且LinkedList
授予访问Queue
,对吗?
如果不是,有人可以给我一个上述代码做的分解吗?
这是我的代码:需要一些澄清队列和链表实现
/*
private Queue<Card> cards = new LinkedList<Card>();
*/
我使用的是队列和链表处理的黑杰克一副扑克牌。
现在,我的理解是队列持有卡,并且LinkedList
授予访问Queue
,对吗?
如果不是,有人可以给我一个上述代码做的分解吗?
您没有链接列表和一个队列。类LinkedList<E>
实现接口Queue<E>
。您正在创建链接列表,但随后将其用作队列。
现在,我的理解是,队列持有卡,链表授予访问队列,正确吗?
号Queue
是一个接口(抽象,一种方法来定义合同),而LinkedList
是接口的实现。换句话说,它很难履行合同。
在这种特殊情况下,Queue
是一个非常受限制的接口,它只公开了LinkedList
的几个可能的操作。
现实生活中的例子:银行是一个拥有员工,财务和办公室的机构。互联网是您访问银行的一种方式,提供一些界面和功能。当使用移动应用程序或通过电话与银行顾问交谈时,您仍在使用同一家银行,但使用的界面不同。
Queue
是一个接口,使您可以与队列中的底层对象LinkedList
进行交互。所以你不能通过index
等方法调用方法来获取对象。所以Queue
削减LinkedList
的功能,你不需要时使用队列机制。
太好了。非常感谢你。所以这意味着我可以使用与队列相关的方法,如“添加”和“删除”是否正确? – edxyz
@edxyz:是的,您可以使用'Queue'上的方法。也可以通过转换来访问'LinkedList'上的方法,但是您应该避免这样做,因为它会将变量声明为'Queue'。 –