千家信息网

JAVA递归调用的实例代码

发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,这篇文章主要讲解了"JAVA递归调用的实例代码",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JAVA递归调用的实例代码"吧!1、递归递归就是一个程序或
千家信息网最后更新 2025年02月07日JAVA递归调用的实例代码

这篇文章主要讲解了"JAVA递归调用的实例代码",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"JAVA递归调用的实例代码"吧!

1、递归

递归就是一个程序或函数在其中定义或说明有之间或者间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可以描述出解题过程所需要的多次重复计算,大大的减少了程序的代码量,递归的能力在于用有限的语句来定义对象的无限集合,一般来说,递归需要边界条件,递归前进段和递归返回段,当边界条件不满足时,递归前进,当边界条件满足时,递归返回。

2、实例代码

private List buildTree(List hkFiletypes,                                                                           String preentId,                                                                           List hktrees){                //第一级数据                if ("0".equals(preentId)){                        hkFiletypes.forEach(hkFiletype -> {                                String parentfiletypeid = hkFiletype.getParentfiletypeid();                                if (null != parentfiletypeid && parentfiletypeid.equals(preentId)){                                        hktrees.add(hkFiletype);                                }                        });                }else {                        hktrees.forEach(hkFiletype -> {                                String id = hkFiletype.getId();                                List hktree = new ArrayList<>();                                hkFiletypes.forEach(hkFiletype1 ->{                                        String parentfiletypeid = hkFiletype1.getParentfiletypeid();                                        if (parentfiletypeid.equals(id)){                                                hkFiletype.setHasChildren(true);                                                hktree.add(hkFiletype1);                                                buildTree(hkFiletypes,hkFiletype1.getId(),hktree);                                        }                                } );                                hkFiletype.setChiles(hktree);                        });                }                return  hktrees;        }

3、代码调用

public List selectTreeList(HkFiletype hkFiletype){                hkFiletype.setDelmark(1);                List hkFiletypes = hkFiletypeMapper.selectList(hkFiletype);                List hktrees = new ArrayList<>();                hktrees = buildTree(hkFiletypes,"0",hktrees);                hktrees = buildTree(hkFiletypes,"1",hktrees);                return hktrees;        }

感谢各位的阅读,以上就是"JAVA递归调用的实例代码"的内容了,经过本文的学习后,相信大家对JAVA递归调用的实例代码这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0