LinkedList不同的实现

时间:2014-03-11 08:40:08

标签: java collections linked-list queue

我在Java中LinkedList看到了Collections Framework类的2个有效声明。

  1. LinkedList a = new LinkedList();
  2. 队列a = new LinkedList();
  3. 这两种实现之间究竟有什么区别?

3 个答案:

答案 0 :(得分:2)

队列 LinkedList 类实现的接口。

在第一种情况下, a 是对LinkedList对象的LinkedList引用。 在后者中, a 是指向LinkedList对象的Queue接口引用,因此,在最后一种情况下,您将只能执行 LinkedList 中包含的那些服务。 队列界面。

答案 1 :(得分:1)

您的代码中只有一个实现:LinkedList。

QueueLinkedList类实现的多个接口之一。

答案 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中声明的所有方法。