1. TreeOriginalNode.java
package edu.xmu.tree; public class TreeOriginalNode { private String attr1; private String attr2; private String attr3; private int total; public String getAttr1() { return attr1; } public void setAttr1(String attr1) { this.attr1 = attr1; } public String getAttr2() { return attr2; } public void setAttr2(String attr2) { this.attr2 = attr2; } public String getAttr3() { return attr3; } public void setAttr3(String attr3) { this.attr3 = attr3; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } @Override public String toString() { return "TreeOriginalNode [attr1=" + attr1 + ", attr2=" + attr2 + ", attr3=" + attr3 + ", total=" + total + "]"; } }
2. TreeNode.java
package edu.xmu.tree; import java.util.ArrayList; import java.util.List; public class TreeNode { private String attr1; private int total; private List<TreeNode> nodeList = new ArrayList<TreeNode>(); public TreeNode() { } public TreeNode(String attr1, int total) { this.attr1 = attr1; this.total = total; } public String getAttr1() { return attr1; } public void setAttr1(String attr1) { this.attr1 = attr1; } public void setTotal(int total) { this.total = total; } public int getTotal() { return this.total; } public List<TreeNode> getNodeList() { return nodeList; } public void setNodeList(List<TreeNode> nodeList) { this.nodeList = nodeList; } @Override public String toString() { return "TreeNode [attr1=" + attr1 + ", total=" + total + ", nodeList=" + nodeList + "]"; } }
3. TreeRoot.java
package edu.xmu.tree; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class TreeRoot { private List<TreeNode> levelOneList = new ArrayList<TreeNode>(); public void addNode(TreeOriginalNode node) { if (levelOneList.isEmpty()) { levelOneList.add(new TreeNode(node.getAttr1(), node.getTotal())); System.out.println(levelOneList.get(0)); } else { for (Iterator<TreeNode> levelOneIter = levelOneList.iterator(); levelOneIter .hasNext();) { TreeNode levelOneTempNode = levelOneIter.next(); if (levelOneTempNode.getAttr1().equals(node.getAttr1())) { int levelOneTotal = levelOneTempNode.getTotal(); levelOneTotal += node.getTotal(); levelOneTempNode.setTotal(levelOneTotal); List<TreeNode> levelTwoList = levelOneTempNode .getNodeList(); if (levelTwoList.isEmpty()) { System.out.println("Add node" + node + " to levelTwoList"); levelTwoList.add(new TreeNode(node.getAttr2(), node .getTotal())); System.out.println(levelTwoList.get(0)); } else { for (Iterator<TreeNode> levelTwoIter = levelTwoList .iterator(); levelTwoIter.hasNext();) { TreeNode levelTwoTempNode = levelTwoIter.next(); if (levelTwoTempNode.getAttr1().equals( node.getAttr2())) { int levelTwoTotal = levelTwoTempNode.getTotal(); levelTwoTotal += node.getTotal(); levelTwoTempNode.setTotal(levelTwoTotal); List<TreeNode> levelThreeList = levelTwoTempNode .getNodeList(); levelThreeList.add(new TreeNode( node.getAttr3(), node.getTotal())); } else { levelTwoList.add(new TreeNode(node.getAttr2(), node.getTotal())); break; } } } } else { levelOneList.add(new TreeNode(node.getAttr1(), node .getTotal())); break; } } } } public List<TreeNode> getNodeList() { return levelOneList; } public void setNodeList(List<TreeNode> nodeList) { this.levelOneList = nodeList; } @Override public String toString() { StringBuffer sb = new StringBuffer(); for (Iterator<TreeNode> iter = levelOneList.iterator(); iter.hasNext();) { TreeNode node = iter.next(); sb.append(node.toString()); sb.append("\n"); } return sb.toString(); } }
4. TreeRootTest.java
package edu.xmu.tree; import org.junit.Test; public class TreeRootTest { @Test public void test() { TreeRoot root = new TreeRoot(); TreeOriginalNode node1 = new TreeOriginalNode(); node1.setAttr1("aaa"); node1.setAttr2("AAA"); node1.setAttr3("111"); TreeOriginalNode node2 = new TreeOriginalNode(); node2.setAttr1("aaa"); node2.setAttr2("AAA"); node2.setAttr3("222"); TreeOriginalNode node3 = new TreeOriginalNode(); node3.setAttr1("aaa"); node3.setAttr2("BBB"); node3.setAttr3("111"); TreeOriginalNode node4 = new TreeOriginalNode(); node4.setAttr1("bbb"); node4.setAttr2("AAA"); node4.setAttr3("111"); root.addNode(node1); root.addNode(node2); root.addNode(node3); root.addNode(node4); System.out.println(root); } }
相关推荐
Perl中的XML::Simple模块是Perl社区广泛使用的XML解析器,尤其适合处理小型或结构简单的XML文档。这个模块的名称虽然包含“Simple”,但它实际上提供了一种简洁的接口,用于将XML数据转换为Perl数据结构,反之亦然。...
Modern Java Recipes Simple Solutions to Difficult Problems in Java 8 and 9 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Prediction-Machines-The-Simple-Economics-of-Artificial-Intelligence
**jQuery插件:Simple Tree详解** 在Web开发中,数据的层次展示经常是必不可少的,例如目录结构、组织架构或层级菜单。为了实现这样的效果,jQuery插件Simple Tree应运而生。它提供了一个轻量级且易于使用的解决...
You Will Learn Python!
《jQuery-simple-tree:构建灵活的树形结构》 在网页开发中,经常需要展示层级关系的数据,例如组织架构、文件目录等,这时树形结构组件就显得尤为重要。jQuery-simple-tree是一款基于jQuery的轻量级插件,专为快速...
**jQuery SimpleTree 插件详解** `jQuery SimpleTree` 是一个功能丰富的JavaScript插件,它扩展了jQuery库,为开发者提供了构建交互式树形结构的能力。这个插件特别之处在于它支持JSON数据格式,可以创建带有复选框...
Java命令行解析器JOpt Simple是一款广泛使用的开源库,它为Java开发者提供了处理命令行参数和选项的强大工具。JOpt Simple的设计目标是简洁、易于使用,同时具备灵活性,能够处理复杂的命令行语法。这个压缩包文件...
"SimpleTree"是一款基于jQuery的树形插件,主要用于在网页中展示层次结构的数据,例如目录结构、组织架构或者导航菜单。它通过简洁的API和丰富的定制选项,为开发者提供了在网页上创建交互式树状视图的功能。下面将...
Character Recognition Example (III):Training a Simple NN for classification
A simple example with how hybrid beamforming is employed at the transmit end of a massive MIMO communications system.zip
SimpleTree1.2是一款在JavaScript领域中广泛应用的框架树组件,尤其在网页界面设计和数据组织展示时,它提供了一种高效且灵活的方式来呈现层级结构数据。这个框架以其易用性和丰富的功能特性,赢得了开发者们的青睐...
Java SE 6(标准版6)是Java平台的一个重要版本,它引入了许多新特性,特别是在XML API和Web服务方面。这些增强为开发人员提供了更强大、更高效的工具,以处理XML文档并构建基于Web的服务。 1. **XML API增强**: ...
1.代码中包括两种异步树加载,Default.aspx中使用json数据格式返回2.Default3使用兼容性很好的Jquery.simpletree树异步加载树,后台返回<ul><li> html标记.可以拖拽树.且插件包很小,只包括jquery.simple.tree.css,...
SQL Server管理工具的簡單示例。 處理數據; 我相信Microsoft SQL Server是管理大量數據/信息的最佳選擇。 任何與數據庫相關的應用程序開發,所有開發人員都非常熟悉Microsoft SQL Server數據庫管理系統以及服務...
A Simple Framework for Contrastive Learning of Visual Representations 作者: Ting Chen, Simon Kornblith, Mohammad Norouzi, Geoffrey Hinton 本文提出一种简洁有效的设计的无监督设计,并且以7%的margin刷新...
总的来说,"json jquery simple tree 源码"提供了一种高效、灵活的方法,使得jQuery Simple Tree能够利用JSON数据进行异步加载,提升了用户体验,简化了前后端的数据交互过程,是Web开发中一个实用的工具。
**jQuery Simple Tree 知识点详解** `jQuery Simple Tree` 是一个基于 jQuery 库开发的交互式树型目录组件,它允许用户通过简单的 HTML 和 JavaScript 代码创建具有拖放功能的树状结构。这个组件在网页应用中尤其...
标签:carrotsearch、thirdparty、simple、xml、safe、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,...
"Java Crash Course" contains a multitude of tips and tricks, examples and exercises you can do to grow your Java programming skills to unprecedented levels. We chose the content of this book carefully...