java - 将数据读回二叉搜索树

标签 java serialization binary-search-tree

我有一个程序添加一个包含 (int StudentNumber, String firstName, String lastName, String Major, double gpa) 的节点并将其“保存”到文件中,我有以下方法:

public void saveRecord (Node focusNode) {

    JOptionPane.showMessageDialog(null,"saving file...");
    try
    {
        ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(file));         

        if (focusNode != null){

            System.out.println(focusNode);
            output.writeObject((focusNode));

            preOrderTraverseTree(focusNode.leftChild);

            preOrderTraverseTree(focusNode.rightChild);
        }//end if
        output.close();

    }
   //catch exceptions
}//end save

现在,我想拉回已写入的每个节点,并能够对它们进行不同的排序(例如按专业、gpa 等)。我该如何做到这一点,同时保留所有字段,以便当我读回它们时可以搜索它们?我曾考虑过将它们读回到列表中,但它添加的每一行都没有前面提到的参数。我的 addNode 方法使用这些参数将每个节点添加到树中,因此我不能只调用它。我该怎么做?

最佳答案

我已将此问题的答案包含在对您的其他问题的回答中 here .

关于java - 将数据读回二叉搜索树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23049545/

相关文章:

java - 如何使用 ByteBuddy 子类化具有 1+ args 构造函数的抽象类

java - 使用自定义标题栏管理 Windows Aero 震动功能

.net - BinaryFormatter 反序列化给出 SerializationException

spring - spring mvc 应用程序中的可序列化异常

java - 从二叉搜索树中递归删除

algorithm - 从具有 2 个节点的二叉搜索树中删除一个节点,是否可以使用不同的方法?

java - 了解总和可被 K 整除的数组中的 Count 对

java - 如何正确确定 "exists"JPA Criteria Query 子句是否返回 true 或 false?

java - 使用 JAXB 注释时如何解开 JSON 的根?

c++ - 递归删除二叉树中的每个节点