asdfgbn2 2015-08-20 01:28 采纳率: 66.7%
浏览 2306
已采纳

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 + " ");

            }

        }

    }


        控制台打印如下:![图片说明](https://img-ask.csdn.net/upload/201508/20/1440034025_984725.png)


        怎么得到一个list  里面是所有的子ID阿  急求~~~~~
  • 写回答

2条回答 默认 最新

  • JPF1024 2015-08-20 02:00
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?