java构建树用的Node
package org.ccnt.med.body; import java.util.ArrayList;
import java.util.List; public class Node { // 叶子节点
public final static String TYPE_LEAF = "leaf"; // 有子节点的节点
public final static String TYPE_NODE = "node"; // 节点键值
private String org_code; // 节点名称
private String org_name; // 节点状态
private String status; // 节点类型
private String org_type; // 父节点值
private String parent_code; // 子节点数组
private Node[] childNodes; /**
* 转换列表为数组
*
* @param NodeList
* @return
*/
public static Node[] listToArray(List<Node> NodeList) {
Node[] nodes = null;
if (NodeList != null) {
nodes = new Node[NodeList.size()];
for (int i = 0; i < NodeList.size(); i++) {
nodes[i] = (Node) NodeList.get(i);
}
}
return nodes;
} /**
* 判断是否是有子节点的节点
*
* @return
*/
public boolean isNode() {
if (this.getChildNodes() != null && this.getChildNodes().length > 0) {
return true;
} else {
return false;
}
} /**
* 判断是否是叶子节点
*
* @return
*/
public boolean isLeaf() {
return !isNode();
} /**
* 根据列表设置当前节点的子节点
*/
public void filterChildNodes(Node[] nodes) {
List<Node> list = new ArrayList<Node>();
Node tempNode = new Node();
for (int i = 0; i < nodes.length; i++) {
tempNode = nodes[i];
if ("root".equals(tempNode.getParent_code())
&& this.getOrg_code() == null) {
list.add(tempNode);
} else {
if (!"root".equals(tempNode.getParent_code())
&& this.getOrg_code() != null) {
if (tempNode.getParent_code().equals(this.getOrg_code())) {
list.add(tempNode);
}
}
}
} this.setChildNodes(listToArray(list));
} public String getOrg_code() {
return org_code;
} public void setOrg_code(String org_code) {
this.org_code = org_code;
} public String getOrg_name() {
return org_name;
} public void setOrg_name(String org_name) {
this.org_name = org_name;
} public String getStatus() {
return status;
} public void setStatus(String status) {
this.status = status;
} public String getOrg_type() {
return org_type;
} public void setOrg_type(String org_type) {
this.org_type = org_type;
} public String getParent_code() {
return parent_code;
} public void setParent_code(String parent_code) {
this.parent_code = parent_code;
} public Node[] getChildNodes() {
return childNodes;
} public void setChildNodes(Node[] childNodes) {
this.childNodes = childNodes;
} public static String getTYPE_LEAF() {
return TYPE_LEAF;
} public static String getTYPE_NODE() {
return TYPE_NODE;
}
}
java构建树用的Node的更多相关文章
- java实现树的一般操作
https://www.cnblogs.com/dawnyxl/p/9047437.html 树是数据结构中最基本的结构,今天的博客更新一下树的基本操作: 树的节点结构: package tree; ...
- t-io Java构建p2p网络
Java 构建p2p网络 这篇文章是一篇关于pbft算法实现的一篇补充文章,但是在这里不会涉及pbft的算法方面,所以可以当做一篇单独的文章食用.如果想查看关于区块链或者PBFT算法的文章,可以参考一 ...
- java遍历树(深度遍历和广度遍历
java遍历树如现有以下一颗树:A B B1 B11 B2 B22 C C ...
- Java Build Path(Java 构建路径)
Java构建路径用于在编译Java项目时找到依赖的类,包括以下几项: 源码包 项目相关的 jar 包及类文件 项目引用的的类库 我们可以通过使用 Java 项目属性对话框中的 Java Build P ...
- Gradle 笔记——Java构建入门
Gradle是一个通用的构建工具,通过它的构建脚本你可以构建任何你想要实现的东西,不过前提是你需要先写好构建脚本的代码.而大部分的项目,它们的构建流程基本是一样的,我们不必为每一个工程都编写它的构建代 ...
- java集合树状结构及源码
java集合树状结构及源码 最近一直想看一下java集合的源码,毕竟平时用的比较多,但总是感觉是跟着习惯new出来一个对象,比如ArrayList,HashMap等等,所以就简单的看了一下,了解了一下 ...
- 闽江学院软件学院2016级JAVA构建之法-学生自学兴趣小组招募通知
为提升我2016级学生提升JAVA软件开发学习氛围,鼓励更多同学通过自学.团队学习.在线(社区)学习等方式学习并掌握JAVA课程,尤其是鼓励同学们通过微软中国邹欣老师所倡导的"构建之法&qu ...
- 004_Gradle 笔记——Java构建入门
Gradle是一个通用的构建工具,通过它的构建脚本你可以构建任何你想要实现的东西,不过前提是你需要先写好构建脚本的代码.而大部分的项目,它 们的构建流程基本是一样的,我们不必为每一个工程都编写它的构建 ...
- Eclipse Java 构建路径
Eclipse Java 构建路径 设置 Java 构建路径 Java构建路径用于在编译Java项目时找到依赖的类,包括以下几项: 源码包 项目相关的 jar 包及类文件 项目引用的的类库 我们可以通 ...
随机推荐
- css常用代码含义
1.font:12px Arial, Helvetica, sans-serif: 使用了缩写,完整的代码应该是:font-size:12px; font-family:Tahoma:说明字体为12像 ...
- Landpy.ActiveDirecoty,按照Active Record Pattern设计的方便Lib开源发布
想方便的操作AD吗,不想记住那么多AD Attribute名称和常量?请使用Landpy.ActiveDirecoty库,按照Active Record Pattern设计的AD Lib已经在Code ...
- Dubbo(一) -- 初体验
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架. 一.Dubbo出现的背景 随着互联网的发展,网站应用的规模不断扩大,常规的 ...
- HTTP 请求过程
如下,我们在浏览器输入一个域名,按回车之后,便向该域名对应的服务器发送了一个请求:服务器接收到这个请求后进行处理和解析,然后返回响应的内容给浏览器,浏览器再对其进行解析然后呈现网页 我们可以通过 Ch ...
- APP的缓存文件放在哪里?
只要是需要进行联网获取数据的APP,都会在本地产生缓存文件.那么,这些缓存文件到底放在什地方合适呢?系统有没有给我们提供建议的缓存位置呢?不同的缓存位置有什么不同呢? 考虑到卸载APP必须删除缓存 在 ...
- JS 添加js节点
function AddScriptNode(src) { var N = document.createElement("script"); N.setAttribute(&qu ...
- <转>Logistic回归总结
转自http://blog.csdn.net/dongtingzhizi/article/details/15962797 当我第一遍看完台大的机器学习的视频的时候,我以为我理解了逻辑回归,可后来越看 ...
- poj_2396 有上下界的网络流
题目大意 一个mxn的矩阵,给出矩阵中每一行的和sh[1,2...m]以及每一列的数字的和目sv[1,2...n],以及矩阵中的一些元素的范围限制,比如a[1][2] > 1, a[2][3] ...
- 单用户模式进入centos
修改root密码----------------单用户模式操作 个人原创博客,转载请注明,否则追究法律责任 author: headsen chen date: 2017-9-30 1,开机后,迅速按 ...
- [SQL] SQL 修复命令
You should run the repair from the original installation media, using the following command line ...