java:递归算法

JAVA中的递归是只一个方法在(满足条件时(或不满足条件时【这里的判断根据业务的实际需求写】))自己调用自己的方法名,要求参数和方法名一致,

然后根据判断跳出该方法,返回相应的返回值!

实例:

我们要展示所有的商品分类且无限阶级(表字段:id编号,parentId(父级编码))

我们根据parentId(最顶级的父级编码【在数据库初始化时自定义】)做查询

定义Category是分类的类

采用Set集合去重泛型为Category

Set<Category> setCategory= Sets.newHashSet();
        recursionMethond(setCategory,parentId);

递归算法

    public Set<Category> recursionMethond(Set<Category> setCategory,String parentId){
     根据id获取 Category category
= categoryMapper.selectByPrimaryKey(Integer.parseInt(parentId)); if(category != null){ setCategory.add(category); }
     根据parentId获取 List
<Category> list=categoryMapper.selectLevelingCategor(parentId); for(Category categorys :list){ recursionMethond(setCategory,String.valueOf(categorys.getId())); } return setCategory; }
周永发
原文地址:https://www.cnblogs.com/yvanBk/p/9121109.html