zoukankan      html  css  js  c++  java
  • Java根据子节点递归父节点

    先上数据库结构图和树形图;

    项目中的一个需求是获取一个商品所属的二级分类名称。

    思路分析,首先,我们是可以拿到当前商品所属的子分类的,比如说我买的是一个iPhone SE,对应的分类名称是 iPhone低端版 ,然后反向递归去查询父分类。它的父分类是 iPhone ,同理,iPhone的父分类是手机,所以最后面我们拿到的对象应该是 手机 这个二级分类。

    首先我们获写一个获取全部分类的方法方便我们后面使用:private List<TblCategory> allCategory = categoryMapper.findAllCategory();

     public TblCategory getParentCategoryObject(TblCategory category) {
            if (category.getParentId() == 1) {
                return category;
            }
    
            TblCategory tblCategory = allCategory.stream().filter(
                    x -> Objects.equals(x.getCategoryId(), category.getParentId())
            ).findFirst().get();
    
            return getParentCategoryObject(tblCategory);
        }
    

      

    category.getParentId() == 1 说明我们找到了二级分类,所以这里直接返回,跳递归了,否则就一直去查找,直到找到为止。

  • 相关阅读:
    Javascript的this用法
    angularjs学习笔记--1.入门
    git的简单应用
    转:Netty服务器线程模型概览
    Netty 4.0 中文文档
    转:腾讯CKV海量分布式存储系统
    转Redis性能测试
    maven assemby 打包问题
    转发:TCP
    转:HBase Server启动过程
  • 原文地址:https://www.cnblogs.com/zhuiyi/p/8392297.html
Copyright © 2011-2022 走看看