遍历层次结构以将项目显示为Java中的列表 [英] Traversing through a hierarchy to display items as list in Java

查看:99
本文介绍了遍历层次结构以将项目显示为Java中的列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个存储为层次结构的项目列表,如下所示:

I have a list of items stored as a hierarchy as given below:

FriendList c = 
[ 
    {
        name:"A", 
        nickname:"a", 
        children:[
            {
                name:"A1", 
                nickname:"a1", 
                children:[] 
            },
            {
                name:"A2", 
                nickname:"a2", 
                children:[ 
                    {
                        name:"A21", 
                        nickname:"a21", 
                        children:[] 
                    },
                    {
                        name:"A22", 
                        nickname:"a22", 
                        children:[] 
                    },
                    {
                        name:"A23", 
                        nickname:"a23", 
                        children:[ 
                            {
                                name:"A231", 
                                nickname:"a231", 
                                children:[] 
                            }             
                        ]
                    }
                ]
            },
            {
                name:"A3", 
                nickname:"a3", 
                children:[] 
            },
            {
                name:"A4", 
                nickname:"a4", 
                children:[ 
                    {
                        name:"A41", 
                        nickname:"a41", 
                        children:[] 
                    }
                ]
            }
        ] 
    }
]

我需要在浏览器上使用Javascript/AngularJS来显示此数据,还需要使用Java通过以下方式生成PDF:

I need to display this data using Javascript/ AngularJS on browser and also using Java to generate PDF in the following way:

  parent_name     parent_nickname      child_name      child_nickname

    A                 a                  A1                 a1
    A                 a                  A2                 a2
    A2                a2                 A21                a21
    A2                a2                 A22                a22
    A2                a2                 A23                a23
    A23               a23                A231               a231
    A                 a                  A3                 a3
    A                 a                  A4                 a4
    A4                a4                 A41                a41

当前答案仅显示前两列的结构.

current answer displays the structure with first two columns only.

推荐答案

您要问的只是一棵遍历如下(伪代码)的树:

What you are asking is just a tree traversing like following (pseudo code) :

void visit(Node node) {
   if (node.children != null) {
      for (Node n : node.children) {
          print(n); // print name and nickname
          visit(n);
      }
   }
}

这篇关于遍历层次结构以将项目显示为Java中的列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆