Java中的LinkedList:为什么它直接实现List而不是间接从扩展类实现List
我看到了Java中的Java中的LinkedList:为什么它直接实现List而不是间接从扩展类实现List,java,collections,linked-list,Java,Collections,Linked List,我看到了Java中的LinkedList的以下类层次结构 public interface Collection<E> extends Iterable<E> public abstract class AbstractCollection<E> extends Object implements Collection<E> public abstract class AbstractList<E> extends Abstra
LinkedList
的以下类层次结构
public interface Collection<E>
extends Iterable<E>
public abstract class AbstractCollection<E>
extends Object
implements Collection<E>
public abstract class AbstractList<E>
extends AbstractCollection<E>
implements List<E>
public abstract class AbstractSequentialList<E>
extends AbstractList<E>
public class LinkedList<E>
extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable, Serializable
公共接口集合
可扩展的
公共抽象类抽象集合
扩展对象
实现集合
公共抽象类抽象列表
扩展抽象集合
实施清单
公共抽象类AbstractSequentialList
扩展抽象列表
公共类链接列表
扩展抽象顺序列表
实现List、Deque、Cloneable、Serializable
观察这个层次结构,为什么LinkedList
需要提到implements List
,而它间接来自AbstractList
有什么理由这样做吗
编辑
实际代码的屏幕截图(来自rt.jar)不,在本例中,它对语言语义没有影响。我想他们只是为了更清楚地说明它也实现了
List
,而不需要开发人员遍历整个层次结构。但是Javadoc记录了它。因为它是一个文档工具。@ElliottFrisch:它在实际的源代码中添加了代码片段。被复制者回答了与ArrayList
相同的问题;这个推理同样适用于LinkedList
。当然,让我检查一下。我猜@Hari Menon提供了一个合理的理由。