例子:
public List<TbWxMenuDetail> buildMenuTree(List<TbWxMenuDetail> list) {
List<TbWxMenuDetail> details = new ArrayList<>();
// 构建一级节点
for (TbWxMenuDetail detail : list) {
if (detail.getMenuLevel() != null && detail.getMenuLevel() == 1) {
details.add(detail);
}
}
// 构建二级节点
for (TbWxMenuDetail parent : details) {
childTree(parent, list);
}
return details;
}
public TbWxMenuDetail childTree(TbWxMenuDetail parent,List<TbWxMenuDetail> list) {
for (TbWxMenuDetail detail : list) {
if (detail.getMenuLevel() != null && detail.getMenuLevel() == 1) {
continue;
}
if (detail.getParentMenu().equals(parent.getId())) {
detail = childTree(detail,list);
parent.getChildList().add(detail);
}
}
return parent;
}