2

したがって、javax.swing.tree.DefaultMutableTreeNodeを使用してツリーを構築し、特定のノードにN個の子を追加するとします。次のように順序を変えて挿入した場合でも、子を検索ツリーのように特定の順序(Comparable /カスタムコンパレータに基づく)にする必要があります。

node.insert(child2);
node.insert(child3);
node.insert(child1);

ただし、DefaultMutableTreeNodeは、そのような並べ替えを行いません。私の特定のケースでは、親の配列内の子ノードの目的のインデックスさえ知っていますが、DefaultMutableTreeNode.insertを試して、多くのArrayIndexOutOfBoundsExceptionsを取得しました。

誰かが私が必要なことをするライブラリを推薦できますか?それとも、そのような検索ツリーを自分で作成する必要がありますか?

4

1 に答える 1

1

通常、ツリーにノードを挿入すると、あるトラバーサル順序でソートされたままになります。これは、ツリーのトポロジによって異なります。How to Use Trees、Creating a Data Modelから実装のアイデアが得られるかもしれません。特に、「TreeModel インターフェイスは、あらゆる種類のオブジェクトをツリー ノードとして受け入れます。ノードが DefaultMutableTreeNode オブジェクトによって表される必要はなく、ノードが TreeNode インターフェースを実装する必要さえありません。」

于 2010-02-19T02:57:26.697 に答える