如何更改内置的javaLinkedList类中的节点以添加右下指针



我已经开始使用Java了。我想将内置的JavaLinkedList类与我的自定义节点类一起使用(我的节点类将包含字段:数据、下指针、右指针(。有可能这样做吗?

这是我的节点类:

public class Node {
int data;
Node rt;
Node dw;
//constructor
public Node(int dataValue) {
rt=null;
dw=null;
data=dataValue;
}
//methods:
public int getData() {
return data;
}
public void setData(int dataValue) {
data = dataValue;
}
public void setrt(Node nextVal) {
rt=nextVal;
}
public void setdw(Node nextVal) {
dw=nextVal;
}
public Node getrt() {
return rt;
}
public Node getdw() {
return dw;
}

我创建了以下实例:

LinkedList h=新的LinkedList<>((;

我想使用java中内置的链表类来实现一个2D链表。为了能够做到这一点,我想实现我的自定义节点。

不,LinkedList的节点类是私有的,不是公开的,你不能访问它。除非可能是通过一些反射破解。

即使您可以访问节点类,也可能无法将其替换为自己的类。LinkedList类被硬编码为使用它自己的节点类。

如果您真的坚持,您可以获取LinkedList类的源代码,并将其修改为使用您的节点类。不过,在使用这种方法之前,请检查是否存在任何许可证问题。此外,我的直觉是,与从头开始编写自定义链表类相比,这不值得麻烦。

Java的LinkedList是一个双链表,因此每个节点都有上一个和下一个指针以及对数据的引用。

您可以为此实现创建自己的LinkedList。但看起来有一些基本的事情你做错了:

  • 首先,根据您的实现,使用Graph会更好,因为您所寻求的是图形数据结构具有四条边的顶点
  • 其次,不应修改现有的数据结构/集合由Java提供的API。如果你真的想使用不同的数据结构,然后创建并使用它
  • 第三件也是最重要的一件事是你应该始终尝试使用最有效的数据结构来解决问题例如,您可以创建二维链接列表,但询问你自己,这是否是存储二维数据最有效的方法?它可能发生的情况是,您可以使用矩阵或图形来存储数据
  • 此外,无论何时创建或使用数据结构,都要考虑您的应用程序读/写量很大,基于此您可以进行优化存储和获取数据

但是,看起来你才刚刚开始,所以我建议你先浏览一下基本的数据结构书籍或在线资源。

您也可以浏览下面有类似要求的URL。

使用java';s链接列表类

相关内容

  • 没有找到相关文章

最新更新