`
hanjava
  • 浏览: 32365 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

树列表遍历

 
阅读更多
//方法如下:
public static void main(String[] args) {
List<Bean> list=new ArrayList<Bean>();

Bean b1=new Bean("1","控件使用","");

Bean b2=new Bean("2","员工管理","");

Bean b3=new Bean("3","部门管理","");

Bean b11=new Bean("4","用户管理","1");
Bean b12=new Bean("5","角色管理","1");

Bean b22=new Bean("6","员工列表","2");
Bean b23=new Bean("7","视频监控","2");

Bean b24=new Bean("8","部门列表","3");

list.add(b22);
list.add(b11);
list.add(b1);
list.add(b12);
list.add(b2);
list.add(b23);
list.add(b3);
list.add(b24);

Map<String,List<Bean>> map=new HashMap<String, List<Bean>>();
//将list中的所有对象以键值对的方式保存
for(Bean bean : list){
String pid=bean.getPId();
if(map.get(pid)==null){
map.put(pid, new ArrayList<Bean>());
}
map.get(pid).add(bean);
}

//获得所有父节点集合
List<Bean> list1= map.get("");
List<MenuBean> jsonList=new ArrayList<MenuBean>();
//遍历父节点
for(Bean b : list1){
MenuBean m1=new MenuBean();
m1.setMenuid("1");//或m1.setMenuid(b.getMenuid());
m1.setIcon("icon-sys");
m1.setMenuname("控件使用");

//获取当前父节点所有子节点
List<Bean> list2=map.get(b.getId());
//遍历子节点
for(Bean b111 : list2){
MenuBean m2=new MenuBean();
m2.setIcon("icon-sys");
m2.setMenuid("2");
m2.setMenuname("员工管理22");
m2.setUrl("http://www.baidu.com");
m1.getMenus().add(m2);
}
jsonList.add(m1);

}

}

//MenuBean类
public class MenuBean {
private String menuid;
private String menuname;
private String icon;
private String url;
private List<MenuBean> menus=new ArrayList<MenuBean>();
}
分享到:
评论

相关推荐

    JS树的遍历实例

    本篇文章将重点讲解如何在JavaScript中实现树的遍历,包括前序遍历和后序遍历,并探讨如何在操作过程中保持树的结构,例如移动树形结构中的节点。 首先,我们需要定义一个树节点的数据结构。通常,一个节点包括以下...

    图解数据结构6-树及树的遍历

    - **列表表示**:将树转换为列表形式,便于计算机处理。 - **数组表示**:利用数组存储树中的元素,通常用于完全二叉树。 #### 四、树的应用 - **文件系统**:文件和目录之间的层级关系可以用树形结构表示。 - **...

    java多叉树的实现和遍历输出

    本篇文章将深入探讨如何在Java中实现多叉树以及其遍历方法。 首先,我们需要定义一个多叉树节点类。这个类通常包含一个数据字段来存储节点值,以及一个ArrayList或LinkedList等动态数组来存储子节点。以下是一个...

    java遍历文件目录生成树结构txt文件

    在Java编程中,遍历文件目录并生成树结构的文本文件是一个常见的任务,尤其是在处理大量文件数据时。这个任务可以通过使用Java的`java.io.File`类及其相关API来实现。`Dir.class`和`Dir.java`是这次操作的核心文件,...

    树的遍历前序后序递归算法、层序非递归算法。

    树的遍历是理解树结构和操作的基础,主要包括前序遍历、中序遍历、后序遍历以及层序遍历。本篇文章将深入探讨树的前序、后序递归算法以及层序非递归算法,并结合Java语言来阐述这些概念。 首先,让我们来看看树的...

    Python解析树及树的遍历

    本文将详细介绍如何在Python中实现解析树,并探讨如何进行二叉树的三种遍历:先序遍历、中序遍历和后序遍历。 首先,让我们深入解析树的概念。在图1中,展示了一个简单句子的解析树,它清楚地表达了句子的组成部分...

    算法与数据结构--空间复杂度O-1-遍历树.pdf

    Python代码实现了前序、中序、后序遍历的递归算法,使用了self.ans列表来存储遍历结果。每个算法都使用了递归思想,将树分解成小问题,并将结果组合起来。 知识点五:时间复杂度和空间复杂度分析 树遍历的时间...

    C#遍历系统文件夹(TreeView控件)

    本篇文章将深入探讨如何使用C#和`TreeView`控件来遍历系统文件夹,并通过递归方法实现这一功能。 首先,我们需要了解`TreeView`控件的基本用法。`TreeView`控件包含`TreeNode`对象,每个`TreeNode`代表树结构中的一...

    遍历文件夹自动生成目录树

    `os.walk()`会遍历指定目录及其所有子目录,返回当前目录名(root)、当前目录下的子目录列表(dirs)和文件名列表(files)。通过计算目录深度(level),我们可以控制输出的缩进,从而形成目录树的结构。 **Java...

    BitTree_mirror_树_数据结构_mirror遍历_MirrorMirror_

    2. 在中序遍历列表中找到根节点,根节点左侧的所有元素是左子树的中序遍历,右侧所有元素是右子树的中序遍历。 3. 使用递归构造左子树:用前序遍历的第二个元素作为左子树的前序遍历的第一个元素,重复步骤1和2。 4....

    遍历文件夹并生成树,很不错的例子

    在编程领域,遍历文件夹并生成树状结构是一种常见的任务,特别是在文件系统管理或...通过学习这个例子,你可以掌握如何在Python中实现这一功能,包括使用`os`模块遍历文件夹、构建树数据结构以及在GUI中展示树形结构。

    二叉树构造与遍历

    中序遍历的结果通常反映了一个有序序列,比如对于二叉搜索树,中序遍历可以得到一个升序列表。 - **先序遍历**:首先访问根节点,然后遍历左子树,最后遍历右子树。这种遍历方式常用于复制整个二叉树或者获取树的...

    递归和非递归建立树和树的前,中,后,分层遍历

    树的遍历是理解和操作树的关键步骤。本主题将深入探讨如何使用递归和非递归方法来建立树,并实现前序、中序、后序以及分层遍历。 **一、递归与非递归建立树** 1. **递归建立树**:递归是一种自顶向下的解决问题的...

    在java中 遍历mysql中的树形结构

    在Java中遍历MySQL数据库中的树形结构是一项常见的任务,尤其是在处理组织结构、文件系统或任何具有层次关系的数据时。本文将深入探讨如何利用Java语言和MySQL数据库来实现这一功能,解析给定代码片段,并提供一种...

    使用递归和dom遍历dom树形结构

    ### 使用递归与DOM遍历DOM树形结构 在现代Web开发中,处理XML文档是一项常见任务。DOM(Document Object Model)是一种广泛采用的技术,用于表示XML或HTML文档的结构,使得开发者能够轻松地访问、修改文档中的元素...

    VC遍历文件夹并建成目录树.visual c++

    在Visual C++编程环境下,遍历文件夹并建立目录树是一项常见的任务,特别是在处理大量文件组织和管理的软件开发中。这项操作可以帮助我们构建出一个直观的文件结构模型,便于用户浏览、查找和操作文件。下面我们将...

    前序遍历树—–关于无限分类的问题

    前序遍历作为一种有效的树遍历方法,被广泛应用于解决此类问题,因为它能提供更好的性能和灵活性。本文将深入探讨前序遍历树模型,以及如何利用它来优化无限分类的处理。 首先,我们来看一下无限分类的需求。在许多...

    操作二叉搜索树(插入节点、遍历)

    例如,在遍历完整个二叉搜索树后,会返回一个表示遍历序列的列表,或者在计算完树的度、节点数和叶节点数后,程序会结束并显示结果。 以上就是关于“操作二叉搜索树(插入节点、遍历)”的知识点,包括插入节点的...

Global site tag (gtag.js) - Google Analytics