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,ArrayList<tree>的创建与遍历插入 面试时可能会用到哦 1、根据 根节点rootId创建treeSize个子节点的tree树 2、根据list及父节点 列出父节点下的所有子节点 3、查找根节点 根据父节点找到对应的树 不足之处望...
在EXT中,遍历TREE通常通过遍历TREE节点来完成,这可以通过EXT的API来实现。例如,可以使用`treePanel.getRootNode()`获取树的根节点,然后递归或循环遍历其子节点。如果`example4.js`中定义了这样的函数,那么这...
本篇文章将深入探讨如何在Java中实现多叉树以及其遍历方法。 首先,我们需要定义一个多叉树节点类。这个类通常包含一个数据字段来存储节点值,以及一个ArrayList或LinkedList等动态数组来存储子节点。以下是一个...
本课程设计将详细介绍如何使用Java编程语言实现二叉树的中序遍历。 首先,我们先构建二叉树的节点类(Node),它包含一个数据字段(data)以及指向左子节点(left)和右子节点(right)的引用: ```java public ...
这个过程可以通过编程语言如Python、Java、C#等实现,下面我们将详细讨论如何实现这一功能以及相关的知识点。 首先,我们需要了解文件系统的API。在不同的操作系统中,这些API不尽相同。例如,在Windows系统中,...
在Java开发中,构建部门树(Tree)是一个常见的需求,特别是在企业级应用中,用于展示组织结构或权限管理。这个项目提供了从JSP前端到Java后端的完整解决方案,非常适合初学者理解和学习,也能帮助有经验的开发者...
tree_traversing.java附件tree_node.java还需下载runtime_tree_node,tree_traversing.java
1. **树数据结构**:如何在Java中表示和操作树,如节点的定义、插入、删除、遍历等操作。 2. **面向对象编程**:理解类和对象的概念,如何通过类来封装数据和行为。 3. **版本控制**:观察不同版本间的差异,学习...
`BinaryTree`类包含了与二叉树相关的操作,如获取树的高度`getTreeHeight()`和各种遍历方法。 二叉树的遍历在算法和数据结构中非常常见,用于查找、插入和删除操作,特别是在二叉搜索树(BST)中。理解这三种遍历...
此外,`binaryTree_console`可能是一个Java工程文件,用于运行和测试上述层序遍历的代码。通过控制台输出,用户可以直观地看到层序遍历的结果,验证代码的正确性。 总的来说,这个课程设计旨在让学生深入理解二叉树...
- 遍历:按特定顺序访问树的所有节点,常见的遍历方法有前序遍历(根-左-右)、中序遍历(左-根-右)和后序遍历(左-右-根)。 - 广度优先搜索(BFS):从根节点开始,逐层访问所有节点。 - 深度优先搜索(DFS)...
本示例"java实现二叉树遍历demo"将通过一个简单的实例来演示这三种遍历方式。 1. **前序遍历**: 前序遍历的顺序是:根节点 -> 左子树 -> 右子树。在代码实现中,通常采用递归的方法。首先访问根节点,然后递归地...
Java遍历树形菜单的应用场景非常广泛,例如在Web开发中,树形菜单经常用于展示层次结构的数据,例如文件系统、组织架构、产品分类等等。在这些场景下,Java遍历树形菜单可以帮助开发者快速实现树形菜单的遍历和处理...
在Java编程语言中,"树"(Tree)是一种非线性的数据结构,它模拟了自然界中的树状层次关系。在计算机科学中,树被广泛应用于各种算法和数据存储,如文件系统、数据库索引、图形表示等。Java提供了多种方式来实现和...
在IT领域,B+树(B Plus Tree)是一种常见的数据结构,广泛应用于数据库索引、文件系统以及其他需要高效检索的数据存储系统中。B+树的特点是平衡性、分层结构和所有叶子节点在同一层,这使得它在处理大量数据时具有...
在Java编程语言中,"Tree"通常指的是数据结构中的树形结构,以及Java集合框架中的`TreeSet`和`TreeMap`。在这个上下文中,"java中Tree的应用"可能涉及如何利用这些数据结构和类来解决实际编程问题。让我们详细探讨...
在`BinaryTree.java`文件中,我们可以创建一个名为`Node`的类来表示树中的节点: ```java public class Node { int value; Node left; Node right; public Node(int value) { this.value = value; this.left...
以下是对这些遍历方法的详细解释,以及可能在`Tree.java`、`TestTree.java`和`Node.java`文件中实现这些方法的方式。 首先,我们来定义一个简单的二叉树节点类`Node.java`: ```java public class Node { int ...
在`BinaryTree_PreOrder.java`中,应该能找到前序遍历的代码实现,其递归版本会首先访问根节点,然后遍历左子树,最后遍历右子树。 5. **遍历算法的非递归实现** 虽然递归是最直观的方法,但非递归实现(如使用栈...
本项目“基于JAVA的Tree树形菜单管理系统源代码”提供了一个实现这种功能的实例,展示了如何利用Java语言来创建一个美观且易用的树形菜单系统。 在Java中,树形控件的实现主要依赖于Java Swing库,特别是`javax....