java双链接列表创建节点
我正在用java编写一个作业,它使用泛型双链表。我相信这是一个基本的问题,但由于我找不到答案,我想我会问。基本上,双链表类的实现已经给出,我所需要做的就是创建一些节点。我遇到的问题是,node类是list类中的一个私有静态嵌套类,我不明白应该如何使用它。list类看起来像这样(省略了几个get和set方法):
public class LinkedList<E> {
private static class Node<E>{
private E element;
private Node<E> previous;
private Node<E> next;
public Node(E e, Node<E> p, Node<E> n) {
element = e;
prev = p;
next = n;
}
}
}
在我的驾驶员课程中,我使用以下方法:
LinkedList <String> linkedlist = new LinkedList<String>();
LinkedList.Node node = linkedlist.new Node();
node n1 = new node("Amy", null, null);
使用这个我得到一个错误,说LinkedList。节点应更改为默认可见性。感谢您的帮助
# 1 楼答案
正如@Lonenebula所提到的,您不想从
LinkedList
类之外访问Node
类要使用
LinkedList
,不需要创建节点本身,只需将元素添加到列表中即可。类的内部代码将包含有关如何创建新节点的所有必需细节例如,要向列表中添加元素,可以使用
add(E e)
方法。然后,该方法将包含创建节点并将其添加到列表中的逻辑。在list类中,您应该已经有了下一个和上一个Nodes
,或者有逻辑来判断它是第一个还是最后一个Node
在任何时候都不需要从
LinkedList
类之外访问Node
类