for (Enumeration e = root.preorderEnumeration(); e.hasMoreElements() && theNode == null;) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) e.nextElement();
}
对于上面的例子,你如何知道你在树枝中的深度?如果你正在迭代兄弟姐妹,你怎么得到它的索引?
答案 0 :(得分:1)
您可以通过计算从getParent()
到结果为node
的{{1}}进行迭代的父母数来获得深度。
感谢null
,您可以获得node
的索引。
如果您需要遍历每个节点的两个信息,我建议您提高编写自己的遍历代码的效率,这些代码的灵感来自node.getIndex(node.getParent())
或DefaultMutableTreeNode.getNextNode()
内部类。在后一种情况下,生成的堆栈应包含结构DefaultMutableTreeNode.PreorderEnumeration