java 递归输入一个ID 怎么把这个ID下所有的子ID 放入一个list里面-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

java 递归输入一个ID 怎么把这个ID下所有的子ID 放入一个list里面

HashMap> results = new HashMap>();
//输入的ID
                int ID=Integer.parseInt(Catid);
            //表中所有的数据
                aas=cloudnewscategory.selectAllGory();
                System.out.println("所有记录="+aas);
                for (CloudNewsCategory gory : aas) {
                    System.out.println("536456747="+results.get(gory.getPARENTID()));
                    List<CloudNewsCategory> beans = results.get(gory.getPARENTID());
                    if (beans == null) {
                        beans = new ArrayList<CloudNewsCategory>();
                        results.put(gory.getPARENTID(), beans);
                    }
                    beans.add(gory);               
                }
                displayMap(results,ID,"");  
public static void displayMap(HashMap<Integer, List<CloudNewsCategory>> results,
            int startKey, String str) {
        List<CloudNewsCategory> list = results.get(startKey);
// System.out.println("shuji="+results.get(startKey));
for (CloudNewsCategory gory : list) {
vv.add(gory.getID());
System.out.println(str + gory.getID() + "|"+gory.getCATEGORY());
if (results.containsKey(gory.getID())) {
displayMap(results, gory.getID(), str + " ");
            }

        }
    }

screenshot
怎么得到一个list 里面是所有的子ID阿 急求

展开
收起
蛮大人123 2016-03-18 13:21:38 4127 0
1 条回答
写回答
取消 提交回答
  • 蛮大人123
    我说我不帅他们就打我,还说我虚伪

    你这样肯定不好,推荐你用Map<父ID,子ID的List>,你这样去做,父ID就记录了,也能按照相应的记录去取,另外,你要先把对应的子ID整合成List.
    尽量不要用递归,数据量大的时候,会有问题。

    2019-07-17 19:06:24
    赞同 展开评论 打赏
问答分类:
相关产品:
问答排行榜
最热
最新
相关电子书
更多
JAVA 应用排查全景图
立即下载
Java工程师必读手册
立即下载
Java应用提速(速度与激情)
立即下载