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

问题描述

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

            }

        }

    }

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

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

解决方案

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

解决方案二:

循环就可以了吧,只有有子的,都放到List中去

时间: 2024-12-13 21:53:34

java 递归 输入一个ID 怎么把这个ID下所有的子ID 放入一个list里面 递归都写好了的相关文章

编程-两个孩子,一个孩子将a b c d 4个球放入一个只有一端开放的细管子里

问题描述 两个孩子,一个孩子将a b c d 4个球放入一个只有一端开放的细管子里 两个孩子,一个孩子将a b c d 4个球放入一个只有一端开放的细管子里,另一个孩子摸球,编程计算第二个孩子摸出来球的顺序 解决方案 假设第2个孩子只能从最外面的球往里面摸,有2种可能的程序: 1.程序可设计输入4个数,分别为a,b,c,d放入管子的顺序,如 1,3,2,4表示先放a,然后是c,接着是b,最后是d,那么拿出的顺序则相反,可以通过数组的倒序, 或者堆栈等等方法求出顺序 2.程序认为放入顺序是不确定的

文字溢出实现溢出的部分再放入一个新生成的div中具体代码_javascript技巧

看到群里有人提了一个问题,说文字溢出,如何实现溢出的文字放入一个新生成的div中, 想了一下原理,就是判断是否能在div里放下,如果不能,则在应该断开的地方,差入到新的div中,代码如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> &

c#-C# 两个孩子,一个孩子将a b c d 4个球放入一个只有一端开放的细管子里

问题描述 C# 两个孩子,一个孩子将a b c d 4个球放入一个只有一端开放的细管子里 两个孩子,一个孩子将a b c d 4个球放入一个只有一端开放的细管子里 要求C# 解决方案 可以这个细管子看成一个栈(先进后出),然后再用代码实现这个栈,可以去看我刚刚写的博客:http://blog.csdn.net/android_s123/article/details/50393042

Dreamweaver 里放入一个FLASH怎么让他变按钮可以连接呢

问题描述 请问在Dreamweaver里放入一个FLASH怎么让他变按钮可以连接呢?谢谢?比较急用,麻烦帮帮忙 解决方案 解决方案二:该回复于2009-08-18 16:02:31被版主删除

为什么这个布局文件可以没有布局而直接放入一个控件?

问题描述 为什么这个布局文件可以没有布局而直接放入一个控件? 还有一个问题,这样的layout是不是不能加其他控件了? 解决方案 1.所有的控件都是继承View 其实也是布局: 2.因为TextView非容器,不能再里需加控件: 解决方案二: 你是不是少复制了一行

文字溢出实现溢出的部分再放入一个新生成的div

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content

jaxb 关于如何把一个list中的对象放入另一个list中的注释问题

问题描述 jaxb 关于如何把一个list中的对象放入另一个list中的注释问题 最近用jaxb做项目,需要与其他外部系统做交互.不知道对方xml格式,所以准备不管对方给我什么样的格式,按照我自己的格式走.那么假如:他的c根节点包含两个子节点c1.c2.同时c1又包含三个c11.c12.c13. c2包含两个c21.c22.那么如果我想让c13放入c2中,该如何写jaxb注释

java中输入输出流中被读取的字节去哪了

问题描述 java中输入输出流中被读取的字节去哪了 比如说,我从缓冲区读入一堆数据,通过字节输入流对象提供的方法,读取了1个字节,后面还有99个字节未读取.然而这一个字节在我读取之后去哪了?是拷贝到某个地方了吗?读取完之后是不是直接从流对象中释放了呢? 解决方案 说白了是存到内存中了之后被java垃圾回收机制从内存中释放了. 解决方案二: java 字节输入输出流Java字节输入输出流

JAVA中在文本框中输入字符后如何在弹出下拉菜单中出现对应的选项,急求各位大师。

问题描述 JAVA中在文本框中输入字符后如何在弹出下拉菜单中出现对应的选项,急求各位大师. 如何1是电汇,2是信用证.当我在文本框中输入1后,自动弹出下拉菜单:1 电汇. 请说的详细些,这问题真的困扰我很久了.谢谢各位啦. 解决方案 能不能把问题描述的更详细点 输入1 对应的选项 电汇..是从数据库中查询的 还是只是前台的一个效果 解决方案二: 是不是类似于搜索引擎那种,比如百度一样,输入一个三国下面会显示出三国******什么的. 解决方案三: 你说的是自动补全吧,如果是输入框,必须监听输入状