Java 将BST从使用int更改为字符串

Java 将BST从使用int更改为字符串,java,string,binary-search-tree,Java,String,Binary Search Tree,我正在尝试构建一个简单的BST,它现在可以处理字符串,我只是想得到一个插入方法来添加尝试。现在我有了它,它将插入int,关于如何将其更改为带字符串的任何想法 更新: 我有一些工作,但现在我不能让我的树打印出来,因为我想它 public class BinaryStringTree { private String data; private BinaryStringTree left; private BinaryStringTree righ

我正在尝试构建一个简单的BST,它现在可以处理字符串,我只是想得到一个插入方法来添加尝试。现在我有了它,它将插入int,关于如何将其更改为带字符串的任何想法

更新:

我有一些工作,但现在我不能让我的树打印出来,因为我想它

public class BinaryStringTree {


        private String data;
        private BinaryStringTree left;
        private BinaryStringTree right;

        public BinaryStringTree() {
            this.data = null;
            this.left = null;
            this.right = null;
        }

        public BinaryStringTree(String data) {
            this.data = data;
            this.left = null;
            this.right = null;
        }



        public void addNode(String data) {
            if (this.data == null) {
                this.data = data;
            } else {
                if (this.data.compareTo(data) < 0) {
                    if (this.left != null) {
                        this.left.addNode(data);
                    } else {
                        this.left = new BinaryStringTree(data);
                    }

                } else {
                    if (this.right != null) {
                        this.right.addNode(data);
                    } else {
                        this.right = new BinaryStringTree(data);
                    }

                }
            }
        }

        public void traversePreOrder() {
            System.out.println(this.data);
            if (this.left != null) {
                this.left.traversePreOrder();
            }
            if (this.right != null) {
                this.right.traversePreOrder();
            }
        }




        public static void main(String args []){
            BinaryStringTree bstree = new BinaryStringTree();
            bstree.addNode("Copperfield");
            bstree.addNode("Houdini");
            bstree.addNode("Cardini");
            bstree.addNode("Blackstone");
            bstree.addNode("Dante");
            bstree.addNode("Malini");
            bstree.addNode("Vernon");
            bstree.addNode("Liepzig");
            bstree.addNode("Wild");
            bstree.addNode("Farquar");
            bstree.addNode("Thurston");
            bstree.addNode("Page");
            bstree.addNode("Dedi");
            bstree.addNode("Hofzinser");
            bstree.addNode("Farmer");
            bstree.addNode("Burton");
            bstree.addNode("Lorayne");
            bstree.addNode("Devant");
            bstree.addNode("Maskelyne");
            bstree.addNode("Blaney");
            bstree.addNode("Ortiz");
            bstree.addNode("Munoz");
            bstree.addNode("Bertram");
            bstree.addNode("Daniels");
            bstree.addNode("Beam");
            bstree.addNode("Regal");
            bstree.addNode("Ammar");
            bstree.addNode("Nicola");
            bstree.addNode("Fulves");
            bstree.addNode("Ganson");
            bstree.addNode("Close");
            bstree.addNode("Lumiere");


        }
    }
公共类BinaryStringTree{
私有字符串数据;
私有二叉树左;
私有二叉树权限;
公共二进制字符串树(){
this.data=null;
this.left=null;
this.right=null;
}
公共二进制字符串树(字符串数据){
这个数据=数据;
this.left=null;
this.right=null;
}
公共void addNode(字符串数据){
if(this.data==null){
这个数据=数据;
}否则{
如果(此.data.compareTo(数据)<0){
if(this.left!=null){
this.left.addNode(数据);
}否则{
this.left=新的BinaryStringTree(数据);
}
}否则{
如果(this.right!=null){
this.right.addNode(数据);
}否则{
this.right=新的BinaryStringTree(数据);
}
}
}
}
public void transversePreorder(){
System.out.println(this.data);
if(this.left!=null){
this.left.traversePreOrder();
}
如果(this.right!=null){
this.right.traversePreOrder();
}
}
公共静态void main(字符串参数[]){
BinaryStringTree bstree=新的BinaryStringTree();
bTree.addNode(“科波菲尔”);
bTree.addNode(“Houdini”);
b树addNode(“Cardini”);
bTree.addNode(“黑石”);
bTree.addNode(“Dante”);
bTree.addNode(“Malini”);
bTree.addNode(“Vernon”);
bTree.addNode(“Liepzig”);
bTree.addNode(“野生”);
bTree.addNode(“Farquar”);
bTree.addNode(“Thurston”);
bTree.addNode(“页面”);
bTree.addNode(“Dedi”);
bTree.addNode(“Hofzinser”);
bTree.addNode(“Farmer”);
bTree.addNode(“伯顿”);
添加节点(“Lorayne”);
bTree.addNode(“Devant”);
b树addNode(“Maskelyne”);
bTree.addNode(“Blaney”);
bTree.addNode(“Ortiz”);
bTree.addNode(“Munoz”);
bTree.addNode(“Bertram”);
bTree.addNode(“丹尼尔斯”);
b树。添加节点(“梁”);
bTree.addNode(“富豪”);
b树addNode(“Ammar”);
bTree.addNode(“Nicola”);
bTree.addNode(“Fulves”);
bTree.addNode(“Ganson”);
bstree.addNode(“关闭”);
bTree.addNode(“Lumiere”);
}
}

您可以将您的BST类设置为泛型,这将允许它采用任何定义了排序的类型


我没有使用
而是对我的代码进行了一些更新,但我想让它显示树中的所有内容。有什么好方法可以做到这一点?