[英]Need some clarification of a Queue and a LinkedList implementation
这是我的代码:
/*
private Queue<Card> cards = new LinkedList<Card>();
*/
我正在使用Queue和LinkedList来处理一副Black Jack扑克牌。
现在,我的理解是队列持有卡片,而LinkedList
授予对Queue
访问权限,对吗?
如果没有,有人可以告诉我上述代码的作用吗?
您没有链接列表和队列。 LinkedList<E>
类实现接口Queue<E>
。 您正在创建链接列表,但随后将其用作队列。
现在,我的理解是队列持有卡片,并且链接列表授予对队列的访问权限,对吗?
不, Queue
是一个接口(一种抽象,一种定义契约的方式),而LinkedList
是该接口的一种实现。 换句话说,它很难履行合同。
在这种特殊情况下, Queue
是一个非常严格的接口,它只暴露了LinkedList
几个可能的操作。
现实生活中的例子:银行是一个拥有员工,财务和办公室的机构。 Internet是您访问银行的一种方式,提供一些界面和功能。 使用移动应用程序或通过电话与银行顾问交谈时,您仍然使用同一个银行,但使用不同的界面。
Queue
是一个接口,使您可以像使用队列一样与LinkedList
底层对象进行交互。 所以你不能通过index
来调用方法来获取对象等等。 因此Queue
削减您在使用队列机制时不需要的LinkedList
功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.