`
elan1986
  • 浏览: 168716 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 遍历tree

阅读更多
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.junit.Test;

import com.smc.webapp.domain.dispatch.CatalogVO;


public class CatalogTest {

	@Test
	public void getCatalogAllChildIdTest(){
		CatalogVO t0 = new CatalogVO();
		t0.setId("0");
		
		CatalogVO t1 = new CatalogVO();
		t1.setId("1");
		CatalogVO t2 = new CatalogVO();
		t2.setId("2");
		CatalogVO t3 = new CatalogVO();
		t3.setId("3");
		
		CatalogVO t11 = new CatalogVO();
		t11.setId("11");
		CatalogVO t22 = new CatalogVO();
		t22.setId("22");
		CatalogVO t33 = new CatalogVO();
		t33.setId("33");
		
		CatalogVO t333 = new CatalogVO();
		t333.setId("333");
		
		t0.setParent_id("");
		
		t1.setParent_id("0");
		t2.setParent_id("0");
		t3.setParent_id("0");
		
		t11.setParent_id("1");
		t22.setParent_id("2");
		t33.setParent_id("3");
		
		Set<CatalogVO> t0Childern = new HashSet<CatalogVO>();
		t0Childern.add(t1);
		t0Childern.add(t2);
		t0Childern.add(t3);
		t0.setChildren(t0Childern);
		
		Set<CatalogVO> t1Childern = new HashSet<CatalogVO>();
		t1Childern.add(t11);
		t1.setChildren(t1Childern);
		
		Set<CatalogVO> t2Childern = new HashSet<CatalogVO>();
		t2Childern.add(t22);
		t2.setChildren(t2Childern);
		
		Set<CatalogVO> t3Childern = new HashSet<CatalogVO>();
		t3Childern.add(t33);
		t3.setChildren(t3Childern);
		
		String info = this.iteratorTree(t0);
		System.out.println(info);
	}
	
	public String iteratorTree(CatalogVO cCatalogVO){
		StringBuilder allNodeInfo = new StringBuilder();  
		if(cCatalogVO != null){
			if("".equals(cCatalogVO.getParent_id())){//根节点
				allNodeInfo.append(cCatalogVO.getId() + ",");
			}
			
			for(CatalogVO tCatalogVO : cCatalogVO.getChildren()){
				allNodeInfo.append(tCatalogVO.getId() + ",");
				if(tCatalogVO.getChildren() != null && tCatalogVO.getChildren().size() > 0){
					allNodeInfo.append(iteratorTree(tCatalogVO));
				}
			}
		}
		
		return allNodeInfo.toString();
	}
}
分享到:
评论

相关推荐

    tree的创建与遍历

    tree,ArrayList&lt;tree&gt;的创建与遍历插入 面试时可能会用到哦 1、根据 根节点rootId创建treeSize个子节点的tree树 2、根据list及父节点 列出父节点下的所有子节点 3、查找根节点 根据父节点找到对应的树 不足之处望...

    JSP EXT 遍历 TREE

    在EXT中,遍历TREE通常通过遍历TREE节点来完成,这可以通过EXT的API来实现。例如,可以使用`treePanel.getRootNode()`获取树的根节点,然后递归或循环遍历其子节点。如果`example4.js`中定义了这样的函数,那么这...

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

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

    Java二叉树中序遍历

    本课程设计将详细介绍如何使用Java编程语言实现二叉树的中序遍历。 首先,我们先构建二叉树的节点类(Node),它包含一个数据字段(data)以及指向左子节点(left)和右子节点(right)的引用: ```java public ...

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

    这个过程可以通过编程语言如Python、Java、C#等实现,下面我们将详细讨论如何实现这一功能以及相关的知识点。 首先,我们需要了解文件系统的API。在不同的操作系统中,这些API不尽相同。例如,在Windows系统中,...

    java简单开发部门树(Tree)

    在Java开发中,构建部门树(Tree)是一个常见的需求,特别是在企业级应用中,用于展示组织结构或权限管理。这个项目提供了从JSP前端到Java后端的完整解决方案,非常适合初学者理解和学习,也能帮助有经验的开发者...

    一般树的非递归先序遍历附件之tree_node.java

    tree_traversing.java附件tree_node.java还需下载runtime_tree_node,tree_traversing.java

    java_tree_demo.rar_DEMO_java tr_java tree Demo_java tree de

    1. **树数据结构**:如何在Java中表示和操作树,如节点的定义、插入、删除、遍历等操作。 2. **面向对象编程**:理解类和对象的概念,如何通过类来封装数据和行为。 3. **版本控制**:观察不同版本间的差异,学习...

    二叉树的遍历 java语言实现

    `BinaryTree`类包含了与二叉树相关的操作,如获取树的高度`getTreeHeight()`和各种遍历方法。 二叉树的遍历在算法和数据结构中非常常见,用于查找、插入和删除操作,特别是在二叉搜索树(BST)中。理解这三种遍历...

    二叉树 层序遍历 java实现 课程设计

    此外,`binaryTree_console`可能是一个Java工程文件,用于运行和测试上述层序遍历的代码。通过控制台输出,用户可以直观地看到层序遍历的结果,验证代码的正确性。 总的来说,这个课程设计旨在让学生深入理解二叉树...

    Javatree java树结构

    - 遍历:按特定顺序访问树的所有节点,常见的遍历方法有前序遍历(根-左-右)、中序遍历(左-根-右)和后序遍历(左-右-根)。 - 广度优先搜索(BFS):从根节点开始,逐层访问所有节点。 - 深度优先搜索(DFS)...

    java实现二叉树遍历demo

    本示例"java实现二叉树遍历demo"将通过一个简单的实例来演示这三种遍历方式。 1. **前序遍历**: 前序遍历的顺序是:根节点 -&gt; 左子树 -&gt; 右子树。在代码实现中,通常采用递归的方法。首先访问根节点,然后递归地...

    java实现遍历树形菜单两种实现代码分享

    Java遍历树形菜单的应用场景非常广泛,例如在Web开发中,树形菜单经常用于展示层次结构的数据,例如文件系统、组织架构、产品分类等等。在这些场景下,Java遍历树形菜单可以帮助开发者快速实现树形菜单的遍历和处理...

    java 树 tree

    在Java编程语言中,"树"(Tree)是一种非线性的数据结构,它模拟了自然界中的树状层次关系。在计算机科学中,树被广泛应用于各种算法和数据存储,如文件系统、数据库索引、图形表示等。Java提供了多种方式来实现和...

    B+ tree的java实现

    在IT领域,B+树(B Plus Tree)是一种常见的数据结构,广泛应用于数据库索引、文件系统以及其他需要高效检索的数据存储系统中。B+树的特点是平衡性、分层结构和所有叶子节点在同一层,这使得它在处理大量数据时具有...

    java中Tree的应用

    在Java编程语言中,"Tree"通常指的是数据结构中的树形结构,以及Java集合框架中的`TreeSet`和`TreeMap`。在这个上下文中,"java中Tree的应用"可能涉及如何利用这些数据结构和类来解决实际编程问题。让我们详细探讨...

    Java实现二叉树的层次遍历

    在`BinaryTree.java`文件中,我们可以创建一个名为`Node`的类来表示树中的节点: ```java public class Node { int value; Node left; Node right; public Node(int value) { this.value = value; this.left...

    遍历二叉树java代码

    以下是对这些遍历方法的详细解释,以及可能在`Tree.java`、`TestTree.java`和`Node.java`文件中实现这些方法的方式。 首先,我们来定义一个简单的二叉树节点类`Node.java`: ```java public class Node { int ...

    Java Binary Tree Order

    在`BinaryTree_PreOrder.java`中,应该能找到前序遍历的代码实现,其递归版本会首先访问根节点,然后遍历左子树,最后遍历右子树。 5. **遍历算法的非递归实现** 虽然递归是最直观的方法,但非递归实现(如使用栈...

    基于JAVA的Tree树形菜单管理系统源代码

    本项目“基于JAVA的Tree树形菜单管理系统源代码”提供了一个实现这种功能的实例,展示了如何利用Java语言来创建一个美观且易用的树形菜单系统。 在Java中,树形控件的实现主要依赖于Java Swing库,特别是`javax....

Global site tag (gtag.js) - Google Analytics