树形 递归-java 递归报错 求大神帮忙

问题描述

java 递归报错 求大神帮忙
 private List<Post>  getPostLower(List<Post> PostTops){
        List<Post> postAll=new ArrayList<Post>();
        // 上级
        for(Post post:PostTops){
            //查询到下级
             List<Post> posts=basService.queryPostByParentId(post.getPostId());
             //如果有下级   重新调用
             if(posts!=null && posts.size()>0){
                 posts=getPostLower(posts);
                 post.setPosts(posts);
             }
             postAll.add(post);
        }
        return postAll;

    }

做了个查询树形递归 但是递归次数太多报错了。。。除了修改内存有什么方法避免这个错误吗

解决方案

递归层次太深会导致堆栈不足,你可以将递归改成循环,方法是定义一个集合,不断将找到的节点展开添加进去,然后继续遍历这个集合添加下一层,这样就不用递归了。

解决方案二:

贴一下报错的信息吧....

解决方案三:

你这等于是深搜,属于暴力枚举式搜索,可以考虑有没有能剪枝的地方,如果没有,你试试别的方法,比如记忆化搜索,或者hash之类的,关键要看你整个代码要的功能是干什么

解决方案四:

queryPostByParentId 上下级有首尾相接的吧

解决方案五:

你这样用数据库链接资源当然内存不够了。

可以把要查的数据全部查询出来。放在一个HashMap中,再对这个map做处理。

解决方案六:

循环调服务。这个只要层次多一些肯定要爆的

时间: 2024-09-26 12:04:14

树形 递归-java 递归报错 求大神帮忙的相关文章

java 执行 sql 文件报错 求大神帮忙解决 急急急!!!!

问题描述 java 执行 sql 文件报错 求大神帮忙解决 急急急!!!! sql文件里边的内容 /* Navicat MySQL Data Transfer Source Server : localhost_3306 Source Server Version : 50096 Source Host : localhost:3306 Source Database : cemscenter1 Target Server Type : MYSQL Target Server Version :

myeclipse-Myeclipse 运行web项目是报错 求大神帮忙看看

问题描述 Myeclipse 运行web项目是报错 求大神帮忙看看 2016-4-6 22:55:56 org.apache.catalina.core.AprLifecycleListener init 信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path:

druid-sql报错,求大神帮忙看看,在线等!

问题描述 sql报错,求大神帮忙看看,在线等! Caused by: java.sql.SQLException: sql injection violation, syntax error: TODO : LITERAL_INT top : select top 20 * from (select row_number() over ( order by name asc ) row_number, * from (select id,name,display_Name,type,instan

EaseUI3.0集成报错 求大神帮忙看下

问题描述 解决方案 在报错的文件中导入头文件#import "EMClient.h"#import "EMClientDelegate.h"

集成环信SDK报错 求大神帮忙看一下

问题描述 解决方案 如果需要语音功能,将lib文件夹中libEaseMobClientSDKlite.a包删除,使用libEaseMobClientSDK.a,other linker flags使用-ObjC,不要加.a文件地址.解决方案二:other linker那里截图解决方案三:求帮忙看下为什么.......

openstack neutron安装报错 求大神帮忙

问题描述 Loadedplugins:fastestmirror,refresh-packagekit,securityLoadingmirrorspeedsfromcachedhostfileSettingupInstallProcessPackagepython-neutronclient-2.3.4-4.el6.noarchalreadyinstalledandlatestversionResolvingDependencies-->Runningtransactioncheck--->

用的spring mvc 添加了分页 功能后一直报错 求大神解决

问题描述 用的spring mvc 添加了分页 功能后一直报错 求大神解决 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver]Resolving exception from handler [com.app.controller.ManageController@185c0de]: java.lang.NumberFormatException: For input s

代码-db2报错求大神解决,在线等到明天

问题描述 db2报错求大神解决,在线等到明天 严重: StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'systemInfoCache' defined in class path resource [config/core.xml]: Invocation of init method failed; nested e

android游戏-Android运行报错 求大神指导

问题描述 Android运行报错 求大神指导 12-01 20:49:04.872: D/AndroidRuntime(2097): Shutting down VM 12-01 20:49:04.872: W/dalvikvm(2097): threadid=1: thread exiting with uncaught exception (group=0xb4addb90) 12-01 20:49:04.922: E/AndroidRuntime(2097): FATAL EXCEPTIO