在Java中扩展LinkedList的DoublyLinkedList类的正确实现是什么?



我有自己的自定义LinkedList类,它有一个指向列表中第一个Node的指针。我现在需要创建一个DoublyLinkedList类。DoublyLinkedListLinkedList之间的唯一区别是DoublyLinkedList使用DoubleNode s而不是Node s。我的DoubleNode类扩展Node类。

创建扩展LinkedListDoublyLinkedList正确的方法是什么?

必须不断地将DoubleNode s转换为Node s吗?还是有一种更简单的方式,我只是错过了?

谢谢你的帮助

使用泛型-将您的节点类型作为LinkedList的参数化类型

我是自己想出来的。

事实证明,DoublyLinkedList唯一需要更改的方法是add方法。这是我的DoublyLinkedList添加方法:

public void add(Object obj){
        DoubleNode newNode = new DoubleNode(obj);
        newNode.setPrev(getLast());
        super.add((Node)newNode);
    }

通过创建new DoubleNode,然后将其转换为Node,我能够保持大多数方法相同。如果我需要访问DoubleNode的prev指针,我可以根据需要向下转换节点。

相关内容

  • 没有找到相关文章

最新更新