java 两层循环实现建树

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 两层循环实现建树相关的知识,希望对你有一定的参考价值。

 /**
     * 两层循环实现建树
     *
     * @param dataList 传入的树节点列表
     * @return
     */
    private static List<PmsUserRole.Resource> bulid(List<PmsUserRole.Resource> dataList) {

        List<PmsUserRole.Resource> trees = new ArrayList<>();

        for (PmsUserRole.Resource treeNode : dataList) {
            if (!Objects.isNull(treeNode.getParendId())) {
                trees.add(treeNode);
            }

            for (PmsUserRole.Resource it : dataList) {
                if (it.getResourceId().compareTo(treeNode.getParendId()) == 0) {
                    if (treeNode.getChildResource() == null) {
                        treeNode.setChildResource(new ArrayList<>());
                    }
                    treeNode.getChildResource().add(it);
                }
            }
        }
        return trees;
    }

以上是关于java 两层循环实现建树的主要内容,如果未能解决你的问题,请参考以下文章

重置JMeter的两层循环中计数器

java-循环的应用环境以及数组的创建

几种排序算法及Java实现排序的几种方式

Java实现冒泡排序

[PHP]算法-最长公共子串的PHP实现

两层for循环排序排序