JAVA 动态构建树
1. 对自己的总结和理解的升华是我喜欢做的一件事,在实际项目过程中,很多地方都用到动态生成树形菜单的地方,现在就给大家讲讲如何动态生成一棵树。
2. 首先我们必须要建立树的节点模型,其实树的节点模型中往往就是我们需要存放的数据对象,很多时候,我们取得的到的数据对象都是以List的方式来给我们的。动态生成树无非就是将没有规律的一个列表,通过List的方式,生成有组织、有顺序的List数据对象列表。
树节点模型:
import java.util.ArrayList;
/**
* 通用树节点模型,该节点模型是我们数据对象的载体
* 通过对树的操作,达到对数据对象的操作
* @author 夏家吉<jijin0223@126.com>
*
*/
public class CommonTreeNode {
private ArrayList children;
private String name;
private CommonTreeNode parent;
private SystemMenu systemMenu;//在此处就是我们所对应的数据对象
public CommonTreeNode(String name){
this.name=name;
children = new ArrayList();
}
public void addChild(CommonTreeNode obj){
children.add(obj);
obj.setParent(this);
}
public void removeChild(CommonTreeNode obj){
children.remove(obj);
obj.setParent(null);
}
public void setParent(CommonTreeNode parent){
this.parent=parent;
}
public CommonTreeNode getParent(){
return this.parent;
}
public ArrayList getChildren(){
return children;
相关文档:
今天放假一天,之前的学习让我感觉落下许多,所以早上早早的起来在这里写代码 补功课啦。For循环大家应该不会陌生吧,今天把for再次熟悉下,巩固知识嘛。
第一,增强for的使用条件:
1.数组 2.Iterator 迭代器
第二,传统FOR与增强FOR的举例比较:
& ......
java计算时间差
文章分类:Java编程
比如:现在是2004-03-26 13:31:40
过去是:2004-01-02 11:30:24
我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒
方法一:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
{
Date d1 = df.parse("2004-03-26 13:31:40");
......
volatile关键字有什么用?
恐怕比较一下volatile和synchronized的不同是最容易解释清楚的。volatile是变量修饰符,而synchronized则作用于一段代码或方法;看如下三句get代码:
int i1; ......
Java关键字final、static使用总结
Java关键字final、static使用总结
一、final
根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要 ......