本帖最后由 shakar 于 2013-12-26 12:58:48 编辑

解决方案 »

  1.   


    List<String> list = new ArrayList<String>();
    list.add("a");
    list.add("b");
    list.add("a,c");
    list.add("a,c,d");
    循环它,然后变成
    //id name parent
    //1 O
    //11 A 1
    //22 B 1
    //1111 C 11
    //111111 D 1111
      

  2.   


    List<String> list = new ArrayList<String>();
    list.add("a");
    list.add("b");
    list.add("a,c");
    list.add("a,c,d");
    循环它,然后变成
    //id name parent
    //1 O
    //11 A 1
    //22 B 1
    //1111 C 11
    //111111 D 1111我看了你的另一个帖子 ,感觉你这数据不对 ,应该是一个对象里含有list 。才对。
      

  3.   

    public class MyBean{
    String id;
    String name;
    String parent;
    List<MyBean> children;
    }
    这个应该是你的bean类型,public void outBean(List<MyBean> b){
    for(MyBean one:b){
    System.out.print(b.getId()+b.getName()+b.getParent());
    if(b.getChildren()!=null&&b.getChildren().size()>0)
    outBean(b.getChildren());
    }}
      

  4.   


    做了好久了,都搞不定,能帮帮我吗可以 啊 主要你说不明白啊 我已经给你写了 ,你吧Bean加上set和get方法就行了 ,那个方法是递归输出的 ,
    主要你要查询数据 ,放到BEAN里 。
      

  5.   


    做了好久了,都搞不定,能帮帮我吗可以 啊 主要你说不明白啊 顺序是从上到下,先说第一种,A因为是在第一个所以就变成了id=11,name=A,parent为1. B在第二个就变成了id=22,name=B,parent=1. 第三个有关系是C属于A的,A又在前面出现过了,所以C就为id=1111,name=C,parent=11.第四个D是属于C的C在前面出现过了,所以D为id=111111,name=D,parent=1111
    第二中,输出结果改一下
    //C,D
    //A,C
    //B
    //A
    //输出结果
    //ID       NAME    Parent
    //1 o
    //11 C 1
    //1111 D 11
    //22 A 1
    //2211 C 22
    //33 B 1
      

  6.   


    做了好久了,都搞不定,能帮帮我吗可以 啊 主要你说不明白啊 顺序是从上到下,先说第一种,A因为是在第一个所以就变成了id=11,name=A,parent为1. B在第二个就变成了id=22,name=B,parent=1. 第三个有关系是C属于A的,A又在前面出现过了,所以C就为id=1111,name=C,parent=11.第四个D是属于C的C在前面出现过了,所以D为id=111111,name=D,parent=1111
    第二中,输出结果改一下
    //C,D
    //A,C
    //B
    //A
    //输出结果
    //ID       NAME    Parent
    //1 o
    //11 C 1
    //1111 D 11
    //22 A 1
    //2211 C 22
    //33 B 1
    你说的这些我都明白 ,主要你的封装的类是怎么设计的啊 是每一行就是一个bean对象 ,还是那种每个对象里包含子的节点?
      

  7.   


    做了好久了,都搞不定,能帮帮我吗可以 啊 主要你说不明白啊 顺序是从上到下,先说第一种,A因为是在第一个所以就变成了id=11,name=A,parent为1. B在第二个就变成了id=22,name=B,parent=1. 第三个有关系是C属于A的,A又在前面出现过了,所以C就为id=1111,name=C,parent=11.第四个D是属于C的C在前面出现过了,所以D为id=111111,name=D,parent=1111
    第二中,输出结果改一下
    //C,D
    //A,C
    //B
    //A
    //输出结果
    //ID       NAME    Parent
    //1 o
    //11 C 1
    //1111 D 11
    //22 A 1
    //2211 C 22
    //33 B 1
    你说的这些我都明白 ,主要你的封装的类是怎么设计的啊 是每一行就是一个bean对象 ,还是那种每个对象里包含子的节点?对象里包含子的节点
      

  8.   

    public class MyBean{
    String id;
    String name;
    String parent;
    List<MyBean> children;
    }
    这个应该是你的bean类型,public void outBean(List<MyBean> b){
    for(MyBean one:b){
    System.out.print(b.getId()+b.getName()+b.getParent());
    if(b.getChildren()!=null&&b.getChildren().size()>0)
    outBean(b.getChildren());
    }}
    这个就可以,你好好看看。另外 你举的例子好像根本不能发生,生成bean的时候,是从最高节点开始的。//C,D
    //A,C
    你中意思是c里包含D ,A里包含c。
    其实在递归生BEAN时候,A的子节点集合里包含C。之后c的子节点结合包含D ,只会有这一种情况