【发布时间】:2014-09-28 22:27:39
【问题描述】:
我正在使用泛型类型的双向链表在 java 中进行分配。我确定这是一个基本问题,但由于我找不到我想我会问的答案。基本上给出了双向链表类的实现,我需要做的就是创建一些节点。我遇到的问题是节点类是列表类中的私有静态嵌套类,我不明白应该如何使用它。列表类看起来像这样(省略了几个 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.Node 更改为默认可见性。任何帮助表示赞赏。
【问题讨论】:
-
你为什么不按照错误信息的建议去做?
-
@GeroldBroser 这听起来像是一个作业,他们可能不允许更改给定的代码......这是假设 Node 实现当然是给定的。
-
不要从
LinkedList类之外访问节点。在LinkedList类中编写所有与它们直接相关的代码。 -
是的,就是这样。给出了 LinkedList 类,因此我无法进行任何更改。作业要求我开设一个单独的司机课程。对不起,我应该更清楚。