ホームページ >Java >&#&チュートリアル >任意の子と文字列値を持つノードを処理するために Java でツリー データ構造を実装するにはどうすればよいですか?
階層データを扱う場合、ツリー構造は重要な役割を果たします。この質問では、標準 Java ライブラリ クラスを使用して特定の要件を満たすツリーを表す可能性を検討します。
Java ライブラリを調査すると、これらの仕様を正確に満たすクラスが提供されていないことがわかりました。したがって、カスタム ツリー構造の作成が必要になります。
要件に対処する簡単な実装を次に示します。
public class Tree<T> { private Node<T> root; public Tree(T rootData) { root = new Node<T>(); root.data = rootData; root.children = new ArrayList<Node<T>>(); } public static class Node<T> { private T data; private Node<T> parent; private List<Node<T>> children; } }
この構造は、ツリーとそのルート ノードを定義します。各ノードには、値 (データ フィールド)、親ノード (非ルート ノードの場合)、および子ノードのリストがあります。単純な getter メソッドを追加して、子とその文字列値を取得できます。
public List<String> getChildrenValues(Node<String> node) { List<String> childrenValues = new ArrayList<>(); for (Node<String> child : node.children) { childrenValues.add(child.data); } return childrenValues; }
この実装により、指定された要件を満たすツリー構造を作成および操作できます。ツリーを追加、削除、および横断するためのメソッドは、必要に応じて追加できます。
以上が任意の子と文字列値を持つノードを処理するために Java でツリー データ構造を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。