簡単な Tree と Node クラスを自分で作成しました (派手すぎず、多くのことを行う必要はありません)。次のレベルのノードの可変数があります。それらには ArrayList を使用しています。想定どおりに動作しますが、唯一の問題は toString() メソッドです。例: たくさんの数字で設定しました。
- 0 はルートです
- 0 には子 1、2、3 があります
- 2 には子 2.4 と 2.5 があります
今、ツリーを印刷すると、これが得られます: (スラッシュはそこにあるはずです)
- /0/1
- /2/2.5
- /2.4
- /3
しかし、私が欲しいのはこれです:
- /0/1
- /0/2/2.5
- /0/2/2.4
- /0/3
これは私の toString() です:
public String toString() {
String all = "";
for (Node<T> node : nextNodes) {
all += node.toString();
if (node.isLeaf()) {
all += "\n";
}
}
return "/" + this.getNodeContent().toString() + all;
}
毎回ルートから歩くために何を変更する必要があるか誰か教えてください。ありがとう!