Un petit conseil s'il vous plaît.Records to Tree
Je suis en train de créer un arbre de lignes de données suivantes:
TOP Level1 NotLeaf
Level1 Data1 leaf
TOP Level11 NotLeaf
Level11 Level2 NotLeaf
Level11 Data4 leaf
Level2 Data2 leaf
Level2 Data3 leaf
La dernière colonne indique si un nœud est une feuille ou non. Par conséquent, l'arbre, ressemblerait à ceci:
Top
|
|- Level1, Level11
| |
| |
Data1 Level2, Data4
|
|
Data2, Data3
je stocke chaque ligne des données dans un grain et je puis mettre le grain dans une liste.
public class Data {
private String parent;
private String name;
private int isLeaf;
public Data(String parent, String name, int isLeaf){
this.parent = parent;
this.name = name;
this.isLeaf= isLeaf;
//add to the list
}
//Getters
public List<Data> getDataList(){
return dataList;
}
}
Maintenant, pour l'arbre, j'ai écrit une classe Node comme ci-dessous:
public class Node {
private final String nodeName;
private final List<Node> children;
public Node(String nodeName) {
this.nodeName = nodeName;
this.children = new ArrayList<Node>(10);
}
public String getNodeName() {
return nodeName;
}
public List<Node> getChildren() {
return Collections.unmodifiableList(children);
}
public void addChild(Node child) {
children.add(child);
}
}
Mais je ne peux pas sembler comprendre comment insérer les données dans le nœud et obtenir la relation comme indiqué dans l'arbre ci-dessus.
Peut-être que le manque de sommeil cache l'évidence, mais tout conseil serait très utile.
Merci
Merci beaucoup. Créer un nœud racine et y ajouter des enfants a fait l'affaire. – CaptainHastings