我正在尝试学习 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/