gpt4 book ai didi

java - 双向链表创建节点

转载 作者:行者123 更新时间:2023-12-01 12:29:09 25 4
gpt4 key购买 nike

我正在java中进行一项使用泛型类型双向链表的作业。我确信这是一个基本问题,但由于我找不到答案,所以我想我会问。本质上,双向链表类的实现已经给出,我所需要做的就是创建一些节点。我遇到的问题是节点类是列表类中的私有(private)静态嵌套类,我不明白应该如何使用它。列表类看起来像这样(省略了几个 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 应更改为默认可见性。如有任何帮助,我们将不胜感激。

最佳答案

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

要使用LinkedList,您不需要创建节点本身,而只需将元素添加到列表中。 LinkedList 类的内部代码将保存有关如何创建新节点的所有必需详细信息。

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

您绝对不需要从 LinkedList 类外部访问 Node 类。

关于java - 双向链表创建节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26090289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com