フラットデータから階層を作成しようとしています。私は、次のNode
の定義があります。私は、次のことを試してみた再帰を使用して子ノードを作成する
Person
|--Manager
|--Hourly
|--New
:
このデータを考慮public class Node {
public String name;
public List<Node> children = new ArrayList<>();
}
:[Person,Manager,Hourly,New]
、ツリーはようにする必要があり
public void run()
{
List<List<String>> objects = new ArrayList<>();
String[] str = {"Person","Manager","Hourly","New"};
objects.add(Arrays.asList(str)) ;
String[] str2 = {"Person","Manager","Salary"};
objects.add(Arrays.asList(str2)) ;
String[] str3 = {"Person","Manager","Salary", "New"};
objects.add(Arrays.asList(str3)) ;
// Create a Node with the sequence
myNode = new Node();
createNode(objects.get(0), 0, myNode, myNode);
LOG.debug(myNode.name);
}
そして、私のcreateNode
方法は:
public Node createNode(List<String> seq, Integer start, Node parentNode, Node childNode)
{
// do something and return a Node?
}
しかし、概念的には、Javaが戻り値である場合に構造を維持する方法を理解できません。私はあなたの方法にNode
戻り値の型とNode
引数の両方を必要としないPerson
Javaが価値によって返されているとはどういう意味ですか? –