new*_*bie 2 java tree breadcrumbs
我有树像下面的例子,每个叶子都是对象.
[1]
|--[2]
| |--[3]
| |--[4]
| |--[5]
|--[6]
Run Code Online (Sandbox Code Playgroud)
类结构是:
public class Node {
private Integer id;
private List<Node> children;
public Integer getId()
{
return id;
}
public void setId(Integer id)
{
this.id = id;
}
public List<Node> getChildren()
{
return children;
}
public void setChildren(List<Node> children)
{
this.children = children;
}
}
Run Code Online (Sandbox Code Playgroud)
如果选择了叶子3,则面包屑为1 2 3.如何从该树创建面包屑?我知道如何递归创建树,但我不知道如何选择正确的叶子到面包屑.
您需要子项中的父指针.添加子节点时,父节点可以将子节点的父指针设置为自身.
public class Node {
private Integer id;
private Node parent;
private List<Node> children;
public Integer getId()
{
return id;
}
public void setId(Integer id)
{
this.id = id;
}
public List<Node> getChildren()
{
return children;
}
public void setChildren(List<Node> children)
{
this.children = children;
for (Node child : children) {
child.parent = this;
}
}
public Node getParent() {
return parent;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以轻松地使用它从选定的叶节点构建面包屑.
| 归档时间: |
|
| 查看次数: |
1051 次 |
| 最近记录: |