Java二进制搜索树,自定义对象作为元素/节点

时间:2012-11-20 22:49:16

标签: java binary-search-tree

我有一个二叉搜索树,其中包含一个带字符串和int的对象:

    public Person() {
        name = "";
        age = 0;
    }
    public Person(String n, int a) {
        name = n;
        age = a;
    }

我将所有Person对象添加到我的树中,但我不确定如何获取名称字符串?我只知道如何获取整个对象,因为我提供了一个特定的对象来搜索,但我希望能够搜索给定的名称。我只是在寻找如何获取字符串名称,而不是搜索的实现。

1 个答案:

答案 0 :(得分:0)

为属性名称设置公共getter 方法。

public class Person {
private String name;
private int age;
 //your cons
public String getName(){
   return name;
}
public void setName(String name){
 this.name = name;
}
}

当你从树上得到一个人物时。你可以在它的实例上调用getter方法。

     Person p1 = getThePersonFromtheTree;
     System.out.println(p1.getName());

编辑:

  

是否可以遍历树直到找到该名称?

当然,你只需要继续迭代你的树,直到你找到一个具有特定名称的对象。例如,如果您想找到名为 krishna 的人物对象。

    for(int i=0; i<personsTree.size(); i++){
          if(personsTree.getTheObj(i).getName().equals("Krishna")){
               //found the object with name krishna
           }
     }