这是我的代码:
/*
private Queue<Card> cards = new LinkedList<Card>();
*/
我正在使用 Queue 和 LinkedList 来处理一副 Black Jack 扑克牌。
现在,我的理解是队列持有卡片,并且LinkedList
授予访问权限,对Queue
吗?
如果没有,有人可以给我分解一下上面的代码吗?
这是我的代码:
/*
private Queue<Card> cards = new LinkedList<Card>();
*/
我正在使用 Queue 和 LinkedList 来处理一副 Black Jack 扑克牌。
现在,我的理解是队列持有卡片,并且LinkedList
授予访问权限,对Queue
吗?
如果没有,有人可以给我分解一下上面的代码吗?
您没有链表和队列。该类LinkedList<E>
实现接口Queue<E>
。您正在创建一个链表,但随后将其用作队列。
现在,我的理解是队列持有卡片,而链表授予对队列的访问权限,对吗?
No.Queue
是一个接口(一种抽象,一种定义合约的方式),LinkedList
而是该接口的一个实现。换句话说,它努力履行该合同。
在这种特殊情况下Queue
,是一个非常严格的接口,它只公开了LinkedList
.
现实生活中的例子:银行是一个拥有员工、财务和办公室的机构。互联网是您访问银行的一种方式,提供一些界面和功能。使用移动应用程序或通过电话与银行顾问交谈时,您仍在使用同一家银行,但界面不同。
Queue
是一个接口,使您可以LinkedList
与队列的底层对象进行交互。所以你不能调用方法来获取对象index
等等。因此,当您想要使用队列机制时,您不需要Queue
的功能就会被削减。LinkedList