gpt4 book ai didi

java - 我不明白 Node.next 是如何工作的

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

我正在学习链表是如何工作的,但我无法理解一些简单的东西,比如 Node.next 是如何工作的,我认为问题是我不明白 java 中的引用是如何工作的。

public class Node {
int date;
Node next; //This line i don't understand, what are we doing when we declare class type inside the same class
}

但还有:

public class SinglyLinkedList {
private Node first; //What is the difference between this line and the line in the class Node?

最佳答案

Node next;

您可以将其称为前向引用。它告诉您该类 Node 的实例有一个引用,它可以指向另一个 Node 实例。

当然,最初该引用将为空(不指向另一个Node)。但是,当您开始构建节点列表时,它会通过一个节点...链接到下一个节点,通过将该字段值从 null 更改为指向该类的某个实例。这就是简单链表的工作原理:从单个根节点开始,向列表添加注释意味着:更新此类 next 字段。

从这个角度来看,上面两个类之间没有“真正”的区别。你也可以去:

Node firstNode = new Node(5);
Node secondNode = new Node(42);
firstNode.next = secondNode;

拥有一个带有 first 字段的不同类的要点是出于概念原因:第二个类“告诉”读者:“我的目的是包含列表的第一个 Node 对象” 。

您可以转here有关类、对象和引用的更广泛的解释。

注意:这里真正关键的一点是,默认情况下,当您执行 new Node() 调用时,该字段 next 开头空

关于java - 我不明白 Node.next 是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57935627/

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