Java 双链表是一个类还是一种技术?

Java 双链表是一个类还是一种技术?,java,Java,在我的数据结构作业中,老师要求我们: 定义List ADT(在本文档中,“List”指的是这个列表,而不是java.util.List),并使用双链接列表实现它 我有一个名为IList的接口 你认为哪一种设计是最好的选择 拥有一个实现IList的DoublyLinkedList类。还有一个List类,该类还实现了IList,它有一个名为List的字段,该字段实例化了DoublyLinkedList。然后使用list执行所有类方法 或 直接拥有一个实现IList的列表类。并用双链接节点建立其

在我的数据结构作业中,老师要求我们: 定义List ADT(在本文档中,“List”指的是这个列表,而不是java.util.List),并使用双链接列表实现它

我有一个名为IList的接口

你认为哪一种设计是最好的选择

  • 拥有一个实现IList的
    DoublyLinkedList
    类。还有一个
    List
    类,该类还实现了
    IList
    ,它有一个名为
    List
    的字段,该字段实例化了
    DoublyLinkedList
    。然后使用
    list
    执行所有类方法

  • 直接拥有一个实现IList的
    列表
    类。并用双链接节点建立其内部结构
编辑:家庭作业的下一句话是: 定义优先级队列ADT并使用单链表实现它


这就是为什么我会想到第一种方法。我无法为队列实现
IList
。我只能使用
IList
字段来调用
SinglyLinkedList
方法。否则,我也将应用第二种方法,但是队列从不处理列表,这让我很烦恼。我期望在措辞中“使用单链接的方法”是错误的吗?

列表中什么是特殊的(w.r.t实现)
?据我所知,您将只需要
IList
@user7的一个实现(
双链接列表)
没有什么特殊之处,但它完全隐藏了实现细节(在本例中:doublylinked)来自客户端。在这种情况下,客户端必须依赖于
IList
请解释什么是ADT.Abstract数据类型?