public class TkMenuDO {
private Integer menuId;
private Integer fatherMenuId;
private String menuAddress;
private String menuRemark;
private List<TkMenuDO> children;
// 这里忽略了 get、set方法
}
import java.util.ArrayList;
import java.util.List;
public class ListUtil {
/**
* 两层循环实现建树
*/
public static List<TkMenuDO> bulid(List<TkMenuDO> treeNodes) {
List<TkMenuDO> trees = new ArrayList<>();
for (TkMenuDO treeNode : treeNodes) {
if (treeNode.getFatherMenuId().equals(0)) {
trees.add(treeNode);
}
for (TkMenuDO it : treeNodes) {
if (it.getFatherMenuId().equals(treeNode.getMenuId()) ) {
if (treeNode.getChildren() == null) {
treeNode.setChildren(new ArrayList<>());
}
treeNode.getChildren().add(it);