Java:获得后代树节点的第二高祖先
使用DefaultTreeModel,defaultmutbletreenode的getRoot返回它的最高祖先,但是您如何向下一代返回它的第二高祖先呢Java:获得后代树节点的第二高祖先,java,treemodel,Java,Treemodel,使用DefaultTreeModel,defaultmutbletreenode的getRoot返回它的最高祖先,但是您如何向下一代返回它的第二高祖先呢 root - ancestor 1 - some parent - some child - ancestor 2 - some parent - another parent - some child 所以如何找到祖先1,给定这个分支中的一些子节点,每个分支的深度对于根下的每个祖先节点都是不同的 我需要从某个
root
- ancestor 1
- some parent
- some child
- ancestor 2
- some parent
- another parent
- some child
所以如何找到祖先1,给定这个分支中的一些子节点,每个分支的深度对于根下的每个祖先节点都是不同的
我需要从某个子级遍历到祖先1,并且对于更深的分支,给定某个子级,它将找到祖先2。尝试以下方法:
TreeNode[] nodeArray = tree.getPathToRoot(nodeInQuestion);
TreeNode secondFromRoot;
if ((nodeArray != null) && // I'm not sure this can actually happen.
(nodeArray.length > 1)) // current node is not the root node.
{
secondFromRoot = nodeArray[1];
}
else
{
... decide what makes sense here.
}