2012-03-04 6 views

答えて

1

getParent()に反復する親の数をnodeから計算すると、結果はnullになります。

nodeのインデックスはnode.getIndex(node.getParent())のおかげです。

トラバースするノードごとに両方の情報が必要な場合は、DefaultMutableTreeNode.getNextNode()またはDefaultMutableTreeNode.PreorderEnumerationインナークラスからインスパイアされたトラバーサルコードを効率的に作成することをお勧めします。後者の場合、生成されたスタックには構造体が含まれている必要があります{ node, treeDepth, siblingIndex }

+0

ホイールからノードの距離を取得するapiがあります:node.getLevel()最近まで、 APIドキュメントをスキミングすることは驚くべきことです:-) – kleopatra

+0

私は同意します。 getLevel()は、私が記述するカウントを正確に行いますが、各ノードにその情報が必要な場合は効率的ではありません。 –

関連する問題