LinkedList不同的实现



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

  1. LinkedList a = new LinkedList();
  2. Queue a = new LinkedList();

这两种实现之间究竟有什么区别?

Queue是一个由LinkedList类实现的接口。

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

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

Queue是LinkedList类实现的多个接口之一。

以下是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中声明的所有方法。

相关内容

  • 没有找到相关文章

最新更新