1

文字列と int を持つオブジェクトを含む二分探索木があります。

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

すべての Person オブジェクトをツリーに追加しましたが、名前の文字列を取得する方法がわかりません。検索する特定のオブジェクトを指定した場合にのみ、オブジェクト全体を取得する方法を知っていますが、特定の名前を検索できるようにしたいと考えています。検索の実装ではなく、文字列名を取得する方法のみを探しています。

4

1 に答える 1

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;
}
}

ツリーから person オブジェクトを取得したとき。そのインスタンスで 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
           }
     }
于 2012-11-20T22:51:45.880 に答える