/** * author :sq */ public class TreeDakou { private List<Node> data = new ArrayList<Node>(); private List<Node> nodes; public TreeDakou(List<SysMenu> menus){ nodes = new ArrayList<Node>(); for (SysMenu menu : menus) { Node node = new Node(); node.setId(menu.getMenuId()); node.setParentId(menu.getParentId()); node.setText(menu.getMenuName()); node.setHref(menu.getMenuUrl()); node.setIcon(menu.getMenuIcon()); NodeState state = new NodeState(); if(menu.getMuflag()!=null && menu.getMuflag()>0){ state.setChecked(true); } node.setState(state); nodes.add(node); } this.nodes = nodes; } public List<Node> buildTree(){ for (Node node : nodes) { if (node.getParentId() == null) { build(node); data.add(node); } } return data; } private void build(Node node){ List<Node> children = getChildren(node); if (!children.isEmpty()) { node.setNodes(children); for (Node child : children) { build(child); } } } private List<Node> getChildren(Node node){ List<Node> children = new ArrayList<Node>(); for (Node child : nodes) { Integer id = node.getId(); if (id.equals(child.getParentId())) { children.add(child); } } return children; } }
java递归工具类
猜你喜欢
转载自blog.csdn.net/su717854075/article/details/81668158
今日推荐
周排行