实现通用链接列表添加方法 java



我正在尝试为 linkedlist 实现 add 方法,它应该采用任何数据类型,但我有点迷路并且无法正常工作,任何帮助将不胜感激。

 public class LinkedList <T>extends AbstractList  {
 private class Node {
    T data;
    Node next;
    Node(T data, Node next) {
        this.data = data;
        this.next = next;
    }
    Node(T data) {
        this(data, null);
    }
}
Node first;
Node last;
public LinkedList() {
    first = null;
    last = null;
}
@Override
public boolean add(T item) {
    Node newNode = new Node((T)item);
    if (isEmpty()) {
        first = newNode;
        last = first;
        return true;
    }
    last.next = newNode;
    last = null;
    return true;
}

}

你没有告诉我们你的具体问题,所以我们无法解决它,只能猜测。

我看到的一个问题是您将AbstractList扩展为原始(非泛型)类型 - 您的声明应该是

public class LinkedList<T> extends AbstractList<T>  { ... }

你需要:

last.next = newNode;
last = newNode;

小心你明白为什么。

在添加新节点之前,last是对列表中最后一个条目的引用。

您要做的是将其next引用指向此新节点。

然后,第二行更新last以引用此新行。

相关内容

  • 没有找到相关文章

最新更新