人人开源----树结构

讨论 1 2104
磊磊
磊磊 2018-07-26
人人开源的树结构有没有可以直接用的工具。
回帖
  • jaryoung
    2018-07-26
    /** * 递归建树 * * @param treeNodes * @param root * @param <T> * @return 树 */ public static <T extends TreeNode> List<T> buildTreeByRecursion(List<T> treeNodes, Object root) { List<T> trees = new ArrayList<>(); for (T treeNode : treeNodes) { if (root.equals(treeNode.getParentId())) { trees.add(findChildren(treeNodes, treeNode)); } } return trees; } /** * 递归查询子节点 * * @param treeNodes * @param treeNode * @param <T> * @return */ public static <T extends TreeNode> T findChildren(List<T> treeNodes, T treeNode) { for (T node : treeNodes) { if (treeNode.getId().equals(node.getParentId())) { if (treeNode.getChildren() == null) { treeNode.setChildren(new ArrayList<>()); } treeNode.add(findChildren(treeNodes, node)); } } return treeNode; }
    2 回复