数据结构如何更改内置java LinkedList类中的节点以添加右下指针?
我已经开始使用Java。我想在自定义节点类中使用内置的Java LinkedList类(我的节点类将包含字段:data、down pointer、right pointer)。有可能吗
下面是我的节点类:
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链表。为了能够做到这一点,我想实现我的自定义节点
# 1 楼答案
否,
LinkedList
的节点类是私有的,没有公开,您无法访问它。除了可能通过一些反射黑客即使可以访问node类,也可能无法用自己的类替换它。
LinkedList
类被硬编码为使用自己的节点类如果您真的坚持,可以获取
LinkedList
类的源代码,并对其进行修改以使用节点类。不过,在使用这种方法之前,请检查是否存在任何许可证问题。我的直觉是,与从头开始编写自定义链表类相比,它不值得这么麻烦Java的
LinkedList
是一个双链表,因此每个节点都有上一个和下一个指针以及对数据的引用