Java递归实现树结构遍历展示以及条件筛选

本文介绍了一种使用递归实现的Java树结构展示及搜索优化方案。通过递归遍历和筛选,该方案能够高效地处理多级树结构,提高搜索效率。

Java树结构展示条件筛选优化

效果图展示

在这里插入图片描述

总结

对于之前的两级树,博主首先想到的是实体类里面进行封装就可以了,并没有采用递归的形式,可后来随着树结构的增加,树的层级也越来越大,这种情况下显然是不可采取的,便想到了采用递归的方式,同时对于搜索也能采用递归的思想,这样对于无论多少层树同样适用,大大提高了工作效率
在这里插入图片描述

代码

话不多说,上代码

 /**
     * 树的展示加搜索
     *
     * @param map
     * @return
     */
    @RequestMapping("/findTree")
    public R findTree(@RequestBody Map<String, Object> map) {
   
   
        String keywords = (String) map.get("keywords");
        List<TreeVo> treeVos = treeDao.treeKeywords(keywords);
        List<String> list = new ArrayList<>();
        for (TreeVo treeVo : treeVos) {
   
   
            String nodeName = treeVo.getNodeName();
            list.add(nodeName);
        }
        List<TreeVo> oneTrees = treeDao.findOneTree();
        List<TreeVo> lists = new ArrayList<>();
        for (TreeVo oneTree : oneTrees) {
   
   
            traverse(oneTree);
            lists.add(oneTree);
        }
        if (keywords.isEmpty()) {
   
   
            return R.ok().setData(lists);
        }
        List<TreeVo> treeVos1 = screenTree(lists, list);
        return R.ok().setData(treeVos1);
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铅华殿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值