Java 将数据读回二进制搜索树

Java 将数据读回二进制搜索树,java,serialization,binary-search-tree,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 { ObjectOutpu

我有一个程序可以添加一个节点,其中包含
(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
方法使用这些参数将每个节点添加到树中,所以我不能直接调用它。我该怎么做

我已经把这个问题的答案包括在我对你的另一个问题的回答中。

完全相同的我不会问同一个问题两次。@EJP它实际上不是同一件事,另一个问题被扩展了。而且,这个问题甚至从来没有被评论过,更不用说回答了。编辑是同一个问题,有着相同的答案。你的接受证明了这一点。