Maison >Java >javaDidacticiel >Comment puis-je implémenter une structure de données arborescente en Java pour gérer des nœuds avec des enfants et des valeurs de chaîne arbitraires ?
Lorsqu'il s'agit de données hiérarchiques, les structures arborescentes jouent un rôle important. Cette question explore la possibilité d'utiliser une classe de bibliothèque Java standard pour représenter un arbre qui répond à des exigences spécifiques :
En examinant la bibliothèque Java, nous constatons qu'elle ne fournit pas de classe qui répond à ces spécifications exactes. Par conséquent, créer une structure arborescente personnalisée devient nécessaire.
Voici une implémentation simple qui répond aux exigences :
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; } }
Cette structure définit un arbre et son nœud racine. Chaque nœud a une valeur (le champ de données), un nœud parent (pour les nœuds non racine) et une liste de nœuds enfants. Une simple méthode getter peut être ajoutée pour récupérer les enfants et leurs valeurs de chaîne.
public List<String> getChildrenValues(Node<String> node) { List<String> childrenValues = new ArrayList<>(); for (Node<String> child : node.children) { childrenValues.add(child.data); } return childrenValues; }
Avec cette implémentation, vous pouvez créer et manipuler des structures arborescentes qui répondent aux exigences spécifiées. Des méthodes d'ajout, de suppression et de parcours de l'arborescence peuvent être ajoutées selon les besoins.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!