有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

数据结构如何更改内置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) 个答案

  1. # 1 楼答案

    否,LinkedList的节点类是私有的,没有公开,您无法访问它。除了可能通过一些反射黑客

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

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

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