2

因此,假设我正在使用 javax.swing.tree.DefaultMutableTreeNode 构建一棵树,并将 N 个子节点添加到特定节点。我希望孩子们像搜索树一样按特定顺序(基于 Comparable/自定义 Comparator),即使我无序插入它们,如下所示:

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 回答