2010-02-18 30 views
2

假設我正在使用javax.swing.tree.DefaultMutableTreeNode構建樹,並且將N個子節點添加到特定節點。我希望孩子們要在一個特定的順序(基於可比/自定義的比較)像搜索樹,即使我插出來的順序是這樣的:java中的N元搜索樹與Comparable userObject?

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

但DefaultMutableTreeNode沒有做任何那種排序。對於我的特殊情況,我甚至知道父節點數組中的子節點所需的索引,但是我嘗試了DefaultMutableTreeNode.insert並得到了很多ArrayIndexOutOfBoundsExceptions。

任何人都可以推薦一個圖書館,做我所需要的?或者我必須自己寫一個搜索樹嗎?

回答

1

通常情況下,您將節點插入樹中,以便它仍然排序爲某些traversal order。這取決於樹的拓撲結構。您可能會從How to Use Trees, Creating a Data Model獲得一些實施建議。特別是,「TreeModel」接口接受任何類型的對象作爲樹節點。它不要求節點由DefaultMutableTreeNode對象表示,或者甚至是節點實現TreeNode接口。「

+0

幾乎沒有什麼可說的 – stacker 2010-02-19 22:36:59

+0

我確實最終自己寫了一個,所以我會接受你的答案。 – Seth 2010-03-10 21:27:26