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、查找根节点 根据父节点找到对应的树 不足之处望...
tree_traversing.java附件tree_node.java还需下载runtime_tree_node,tree_traversing.java
在Java中,实现二叉树的先序遍历可以通过递归来完成。先序遍历的顺序是:首先访问根节点,然后递归地先序遍历左子树,最后递归地先序遍历右子树。 在这段代码中,Node类定义了二叉树的节点,包含数据域和指向左右子...
将"我的电脑"中的文件以节点的形式递归显示出来,可操作文本文件和可执行文件
tree_traversing.java的附件之一runtime_tree_node.java还需下载tree_node.java
在Java中,实现二叉树的后序遍历可以通过递归来完成。后序遍历的顺序是:首先递归地遍历左子树,然后递归地遍历右子树,最后访问根节点。 在这段代码中,Node类定义了二叉树的节点,BinaryTree类包含一个指向根节点...
在Java中,实现二叉树的中序遍历同样可以通过递归来完成。中序遍历的顺序是:首先递归地中序遍历左子树,然后访问根节点,最后递归地中序遍历右子树。 在这段代码中,Node类定义了二叉树的节点,BinaryTree类包含一...
Java基础复习笔记08数据结构-二叉树和二叉树的遍历。
主要介绍了java实现遍历树形菜单两种实现代码分享,两种实现:OpenSessionView实现、TreeAction实现。具有一定参考价值,需要的朋友可以了解下。
一次集合遍历实现树形结构 - server
二叉树的前序遍历 给定一个二叉树,返回它的前序... * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */
关于java后根次序非递归遍历单栈方法,适用于任何类型。
此java类实现了对数据表的分类递归树的实现,为本人倾力之作,后期,会发布js版,敬请期待!
tree_traversing.java是主类里边包括根据父结点-子节点形式的输入生成树的链式表示及对链式表示进行非递归的先序遍历请下载其中用到的表示树的两个类源码tree_node.java和runtime_tree_node.java
二叉树的遍历(traversing binary tree)是指从根结点出发,按照某种次序依次访问二叉树中所有的结点,使得每个结点被访问依次且仅被访问一次。
e.setType(TREE);//e被归类为“树边” traverse(u, info);//从u出发,继续做深度优先查找 break; case DISCOVERED ://若u已经被发现,但对其访问尚未结束,则 e.setType(BACKWARD);//将e...
实施为Java NavigableMap的自适应基数树 该库基于ICDE 2013“自适应基数树:主存数据库的ARTful索引”,以的形式提供了自适应基数树(ART)的实现。 在有序数据结构的空间中,特别有趣,因为它们的高度和时间...
//遍历排好序的文件数组,打印当前文件或目录名,然后递归目录 for(File f : files) { StringBuffer output = new StringBuffer(); output.append(getTime(time)); output.append(f.getName()); System.out....
一个可遍历当前目录下所有文件和文件夹,并按目录结构输出到当前 文件清单.dat 文件编码格式为gbk,打开也以gbk格式打开
例如,可以使用ASM Tree API遍历一个类的整个字节码结构,查找并修改特定的指令或属性,或者在运行时动态生成新的类和方法。此外,由于ASM Tree API具有较高的抽象层次,因此它适用于各种类型的Java字节码操作,无论...