java - 如何在链表中创建根节点?

标签 java memory linked-list

我正在尝试学习 Java 中的链表,并对以下代码有一些疑问:

public class List {
    Node root;
    public List() {
        // constructor
    }

    public int pop() {
        // pop logic
    }

    public int push(int data) {
        // push logic
    }
}

我想要一个 List 类,用于将数据弹出和推送到链表中。但是,由于列表在实例化时没有任何默认数据,存储对根节点的引用的最佳方式是什么?

在 C 中,我只需要一个指针,例如:

Node * root;

但是由于 Java 没有指针,所以可以有一个简单的声明:

Node root;

... 可以接受吗?我有一段时间没有使用 Java,但是没有将内存分配给声明为类变量的对象会导致潜在的内存问题吗?谢谢!

最佳答案

是的,像 Node root 这样的简单声明是可以接受的。它实际上不是一个指针,而是一个可以引用任何 Node 的引用。

Java 中的引用在概念上等同于 C 指针,但灵 active 较低且使用更简单的语法。

关于java - 如何在链表中创建根节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10002333/

相关文章:

iphone - iPhone 内存泄漏问题

c - 指针 链表 C 编程

c++ - Linked List C++ Class 这两个添加节点实现有什么区别?

java - 获取输入时扫描仪抛出 java.util.NoSuchElementException

java - 如何在 Assets 内部设置 'folders in other language'?

android - Android 中正确使用自定义字体

c - 如何从链表/队列中删除所有具有相同值的节点

java - 将值映射到列表

java - 如何指示从 Jersey 中的 REST 服务保存到浏览器的文件名?

c - 关于重新分配的问题