有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    正如@Lonenebula所提到的,您不想从LinkedList类之外访问Node

    要使用LinkedList,不需要创建节点本身,只需将元素添加到列表中即可。类的内部代码将包含有关如何创建新节点的所有必需细节

    例如,要向列表中添加元素,可以使用add(E e)方法。然后,该方法将包含创建节点并将其添加到列表中的逻辑。在list类中,您应该已经有了下一个和上一个Nodes,或者有逻辑来判断它是第一个还是最后一个Node

    在任何时候都不需要从LinkedList类之外访问Node