JAVA定义一个树形的结构_Java自定义树形结构_先看评测的博客-程序员秘密

技术标签: JAVA定义一个树形的结构  

Java自定义树形结构

Java自定义树形结构

为什么80%的码农都做不了架构师?>>>

0ecf2e5d8c345a770df493c8ce1b918a.png

树形结构

23ea29da57c2db1feb3f4ef23c548cea.gif

Java

package com.zyl.comm;

import java.util.ArrayList;

import java.util.List;

public class Node {

private List> children = new ArrayList<>();

private Node parent;

private T data;

public Node(T data) {

this.data = data;

}

public Node(Node parent, T data) {

this.parent = parent;

this.data = data;

}

public List> getChildren() {

return children;

}

public void setParent(Node parent) {

parent.addChild(this);

this.parent = parent;

}

public void addChild(T data) {

Node child = new Node(data);

child.setParent(this);

this.children.add(child);

}

public void addChild(Node child) {

child.setParent(this);

this.children.add(child);

}

public T getData() {

return data;

}

public void setData(T data) {

this.data = data;

}

public boolean isRoot() {

return (this.parent == null);

}

public boolean isLeaf() {

return this.children.size() == 0;

}

public void removeParent() {

this.parent = null;

}

public int getDepth(){

if (parent == null){

return 0;

} else {

return parent.getDepth() + 1;

}

}

}

参考

Tree implementation in Java (root, parents and children)

转载于:https://my.oschina.net/fxtxz2/blog/2980954

Java自定义树形结构相关教程

java servlet笔记3

java servlet笔记3 Servlet 表单数据 ? 浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法。 GRT方法 ? GET 方法向页面请求发送已编码的用户信息。页面和已编码的信息中间用 ? 字符分隔 http://www.test.com/hello?key1=value1k

java servlet笔记2

java servlet笔记2 Servlet 生命周期 ? Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程: Servlet 通过调用 init () 方法进行初始化。 Servlet 调用 service() 方法来处理客户端的请求。 Servlet 通过调用 destroy() 方法终

JAVA中配置JDK环境

JAVA中配置JDK环境 为什么80%的码农都做不了架构师? 学习JAVA的人要知道,JDK安装后还需要配置,接下来要为大家分享一下如何在win7系统配置JDK环境!!! 工具/原料 JDK,有32位和64位的,根据个人电脑配置下载相关的版本 百度经验:jingyan.baidu.com 方法/

java Servlet笔记7

java Servlet笔记7 Servlet 编写过滤器 ? Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。 ? 可以将一个或多个 Servlet 过滤器附加到一个 Servlet 或一组 Servlet。Servlet 过滤器也可以附加到 JavaServer Pages (JSP) 文件

Java - 【异常处理】try...catch...

Java - 【异常处理】try...catch... 常见异常 java.lang.NullPointerException java.lang.ArrayIndexOutOfBoundsException java.io.NotSerializableException java.io.InvalidClassException java.lang.CloneNotSupportedException 异常继承关系 异常处理基本

【LeetCode(Java) - 744】寻找比目标字母大的最小字母

【LeetCode(Java) - 744】寻找比目标字母大的最小字母 文章目录 1、题目描述 2、解题思路 3、解题代码 1、题目描述 2、解题思路 ??由于字符列表有序,且找出比目标字母大的最小字母,很明显采用二分查找。 ??区间呈左开右闭形式。 ??当中间字符小于等于目标

JAVA基础 面向对象(四) 代码块 static 抽象类 内部类

JAVA基础 面向对象(四) 代码块 static 抽象类 内部类 一、static 关键字引入 static关键字声明的属性和方法是类自己的,所有类实例化的对象,都共享这些static属性和方法。 static可用于修饰:属性、方法、代码块、内部类 1.1 static修饰属性 static修饰后

【JAVA】字母菱形

【JAVA】字母菱形 输入描述 输入一个大写字母与一个整数n,1=n=26; 输出描述 输出如下高度为2n-1的菱形; 注意:A的下一个字母是B,Z的下一个字母是A 样例输入 R 12 样例输出 思路 图形由字母和空格组成,而且是由上下两个三角形构成,用一个数组存放字母,用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_31190113/article/details/114826086

智能推荐

linux环境下的swp文件_qq_41072096的博客-程序员秘密

swp文件代表了交换文件,用于保存临时数据,swp文件是隐藏文件,可以用la查看。以.开头的都是隐藏文件。非正常关闭vi/vim编辑器时会生成一个.swp文件关于swp文件使用vi/vim,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件 以备不测(不测下面讨论),如果你正常退出,那么这个这个swp文件将会自动删除 ...

html table 个人简历demo_qml666的博客-程序员秘密

个人简历 个人简历 个人资料 姓 名: 婚姻状况: 照片 出 生: 政治面貌:

java web前端模版,以Eclipse替核心搭建JAVA WEB开发环境(三)-模板项目Archetype_weixin_39922929的博客-程序员秘密

以Eclipse为核心搭建JAVA WEB开发环境(三)-模板项目Archetype本篇介绍创建archetype,用于创建WEB项目的模板。1、创建一个Dynamic Web Project。自己设置好项目的build path。2、添加Maven配置。右键点击项目,选择Configure--&gt;Convert to Maven Project输入Group Id和Articfact Id3...

Servlet-学习笔记_LvManBa的博客-程序员秘密

Servlet-授课一、 Servlet1.1 Servlet概述Servlet是SUN公司提供的一套规范,名称就叫Servlet规范,它也是JavaEE规范之一。我们可以像学习Java基础一样,通过API来学习Servlet。这里需要注意的是,在我们之前JDK的API中是没有Servlet规范的相关内容,需要使用JavaEE的API。目前在Oracle官网中的最新版本是JavaEE8,该网址中介绍了JavaEE8的一些新特性。当然,我们可以通过访问官方API,学习和查阅里面的内容。打开官方API网

IIS安装SSL证书,谷歌浏览器无法访问,err_connection_closed,err_connection_reset_err_connection_closed谷歌_追风筝的摆渡人的博客-程序员秘密

1.问题描述1.阿里云服务器,根据官网教程,IIS上安装SSL证书,输入https://XXX域名,结果谷歌浏览器出现如下错误,然而IE浏览器却能正常访问。2.我用Nginx发布,谷歌浏览器却可以访问,问题应该出在IIS。2.解决添加链接描述借助该文档成功解决!...

随便推点

怎么根据矩阵判断极大无关组_怎么根据矩阵判断极大无关组_什么是极大无关组?怎么判别?..._深渊号角�mkq的博客-程序员秘密

展开全部向量组的极大无关组满足2个条件:62616964757a686964616fe59b9ee7ad94313334313533661、自身线性无关。2、向量组中所有向量可由它线性表示。例题的解法:构造矩阵 (a1,a2,a3,a4),对它用行变换化成梯矩阵。非零行的首非零元所在的列对应的向量就是一个极大无关组。5 4 1 32 1 1 4-3 -2 -1 -11 3 -2 2化成了行简化梯矩...

RFID工具管理系统几大应用场景_RFID-整体解决方案的博客-程序员秘密

  RFID工具管理系统几大应用场景,RFID工具管理系统应用场景主要有哪些?RFID工具管理系统可以科学管理各种工具,使用RFID抗金属标签与工具绑定,可进行领取、归还、查找和维护工具等管理,提高借还工具效率,提高工具管理的准确性和高效性,落实责任人。RFID工具管理系统几大应用场景  RFID工具管理系统应用场景主要有:  一、铁路线路维护工具管理,铁路线路维护的工具种类多,规格相差大,使用场合分散,一直是管理的难点,在每个工具安装RFID电子标签后,可以在库房的门口安装RFID超高频读写

求解最大公约数的算法比较_原力甦醒的博客-程序员秘密

**第一章 程序的算法设计**一、题目要求运行最大公约数的常用算法,并进行程序的调试与测试,要求程序设计风格良好,并添加异常处理模块(如输入非法等)。二、算法构造程序的思路大致为:(1)利用随机函数rand()随机生成[1,100]的数;(3)用户根据提供的6种算法选择输入算法的序号即可执行该算法;(4)计算...

java.io.file修改名称_关于apache的commons-io源码包中FilenameUtils文件名称工具类对文件名称标准化、系统路径转换等操作源码说明..._偃鼠的博客-程序员秘密

一、前言关于apache的commons-io源码包org.apache.commons.io.FilenameUtils文件名称操作工具类,进行操作系统判断isSystemWindows、文件名称标准化normalize处理、不同操作系统unix路径转换separatorsToUnix、通过文件名判断相当equals/equalsOnSystem/equalsNormalized/equalsN...

ios的内购功能_ios 内购测试证书_nslog1234554321的博客-程序员秘密

iOS开发内购详细版本说明 优雅地小男子 关注2017.02.23 11:08* 字数 877 阅读 8023评论 46喜欢 26一、最近公司很多的项目用到了内购,抽空整理下内购的详细内容吧。1、先从内购的iTunesConnect里配置说起吧,我们先进入苹果的iTunesConnect链接https://itunesconnect.appl

求各入度(邻接表)_邻接表计算入度_haibianyoushark的博客-程序员秘密

Problem Description设有一有向图,其顶点值为字符型并假设各值互不相等,采用邻接表表示法存储表示。设计一个算法,求该图中所有顶点的入度值(要求按顶点的存储顺序输出)。 Input有多组测试数据,每组数据的第一行表示图的顶点数n和图的边数e(0&amp;lt;n&amp;lt;30);第二行表示各顶点的值,按输入顺序进行存储;接下来有e行,每一行表示每条边所依附的顶点的存储下标i和j,两...

推荐文章

热门文章

相关标签