ホームページ >Java >&#&チュートリアル >Javaで任意の子ノードを持つツリーデータ構造を実装するにはどうすればよいですか?

Javaで任意の子ノードを持つツリーデータ構造を実装するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-24 13:53:10998ブラウズ

How to Implement a Tree Data Structure with Arbitrary Child Nodes in Java?

Java でのツリー データ構造の実装

Java でのツリーの表現は、標準 Java ライブラリ クラスを使用して実現できます。ノードに任意の数の子があり、ノードと子の両方に文字列値がある特定の要件を満たすには、次の解決策を検討できます。

カスタム ツリー構造の使用

任意の子を持つツリー用の事前定義された Java ライブラリを使用して、カスタム ツリー構造を定義できます。

public class Tree<T> {
    private Node<T> root;

    public Tree(T rootData) {
        root = new Node<>();
        root.data = rootData;
        root.children = new ArrayList<>();
    }

    public static class Node<T> {
        private T data;
        private Node<T> parent;
        private List<Node<T>> children;
    }
}

この基本的なツリー構造により、次のことが可能になります。ノードとその文字列値を表します。

トラバーサルのメソッド

特定のノードの子とその文字列値を取得するには、ヘルパー メソッドを Node クラスに追加できます。

public List<String> getChildrenStrings() {
    List<String> childStrings = new ArrayList<>();
    for (Node<T> child : children) {
        childStrings.add(child.data);
    }
    return childStrings;
}

使用例

このツリー構造を使用するには、ルートを持つツリーを作成できますノード:

Tree<String> myTree = new Tree<>("Root");

ルートに子ノードを追加できます:

myTree.root.addChild("Child 1");
myTree.root.addChild("Child 2");

指定されたノードの子文字列を取得するには、次を使用できます:

List<String> childStrings = myTree.root.getChildrenStrings();

以上がJavaで任意の子ノードを持つツリーデータ構造を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。