我在Java中LinkedList
看到了Collections Framework
类的2个有效声明。
这两种实现之间究竟有什么区别?
答案 0 :(得分:2)
队列是 LinkedList 类实现的接口。
在第一种情况下, a 是对LinkedList对象的LinkedList引用。 在后者中, a 是指向LinkedList对象的Queue接口引用,因此,在最后一种情况下,您将只能执行 LinkedList 中包含的那些服务。 队列界面。
答案 1 :(得分:1)
您的代码中只有一个实现:LinkedList。
Queue是LinkedList类实现的多个接口之一。
答案 2 :(得分:0)
以下是LinkedList的代码
public class LinkedList<E> extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable, Serializable
因此,您可以看到此类实现了Deque<E>
等等,此接口扩展了Queue<E>
界面,以便您可以创建如下对象:
Queue B = new LinkedList();
Deque d = new LinkedList();
在上面的声明中,LinkedList
对象由Queue
接口引用,这意味着您可以调用Queue
中声明的所有方法。