以下是一个基于Java实现的树形构建的示例代码:import java.util.ArrayList;

简介: 以下是一个基于Java实现的树形构建的示例代码:import java.util.ArrayList;

以下是一个基于Java实现的树形构建的示例代码:import java.util.ArrayList;

import java.util.List;


public class TreeNode {

private LightNodeData data;

private boolean isLeaf;

private boolean isChecked;

public TreeNode(LightNodeData data) {  
    this.data = data;  
    this.isLeaf = false;  
    this.isChecked = false;  
}  
public LightNodeData getData() {  
    return data;  
}  
public void setData(LightNodeData data) {  
    this.data = data;  
}  
public boolean isLeaf() {  
    return isLeaf;  
}  
public void setLeaf(boolean isLeaf) {  
    this.isLeaf = isLeaf;  
}  
public boolean isChecked() {  
    return isChecked;  
}  
public void setChecked(boolean isChecked) {  
    this.isChecked = isChecked;  
}  
@Override  
public String toString() {  
    return data.toString();  
}  


}

public class TreeNodeData {

private LightNodeData data;

public TreeNodeData(LightNodeData data) {  
    this.data = data;  
}  
public LightNodeData getData() {  
    return data;  
}  
public void setData(LightNodeData data) {  
    this.data = data;  
}  

}

public class TreeNodeTree {

private TreeNode root;

public TreeNodeTree(TreeNode root) {  
    this.root = root;  
}  
public void buildTree(List<TreeNodeData> dataList) {  
    if (dataList.isEmpty()) {  
        return;  
    }  
    TreeNodeData data = dataList.get(0);  
    TreeNode node = new TreeNode(data);  
    for (TreeNodeData data2 : dataList) {  
        TreeNode node2 = new TreeNode(data2);  
        if (node2.isLeaf()) {  
            node.setLeaf(true);  
            node2.setLeaf(true);  
        } else {  
            node.setChecked(true);  
            node2.setChecked(true);  
        }  
        node.setData(data2.getData());  
        node2.setData(data.getData());  
    }  
    root.setData(data.getData());  
}  

}

在这个示例中,我们定义了一个TreeNode类来表示树形节点,包含节点的数据、是否为叶子节点以及是否为选中状态。我们还定义了一个TreeNodeData类来表示树形节点的数据,包含节点的数据以及是否为叶子节点和是否为选中状态。


接下来,我们定义了一个TreeNodeTree类来表示整个树形结构,包含根节点。在构造函数中,我们从数据列表中获取第一个数据,并创建一个新的节点对象。然后,我们遍历数据列表中的所有数据,对于每个数据,创建一个新的节点对象,并根据节点是否为叶子节点和是否为选中状态来设置节点的数据和状态。最后,我们将根节点的数据设置为新创建的节点对象的数据。


最后,我们可以使用以下代码来测试树形构建的功能:public static void main(String[] args) {

TreeNodeData data1 = new TreeNodeData(new LightNodeData(“A”));

TreeNodeData data2 = new TreeNodeData(new LightNodeData(“A1”));

TreeNodeData data3 = new TreeNodeData(new LightNodeData(“A11”));

TreeNodeData data4 = new TreeNodeData(new LightNodeData(“A12”));

TreeNodeData data5 = new TreeNodeData(new LightNodeData(“B1”));

TreeNodeData data6 = new TreeNodeData(new LightNodeData(“B11”));

TreeNodeTree tree = new TreeNodeTree(tree);  
tree.buildTree(dataList);  

}

相关文章
|
3月前
|
安全 前端开发 Java
随着企业应用复杂度提升,Java Spring框架以其强大与灵活特性简化开发流程,成为构建高效、可维护应用的理想选择
随着企业应用复杂度提升,Java Spring框架以其强大与灵活特性简化开发流程,成为构建高效、可维护应用的理想选择。依赖注入使对象管理交由Spring容器处理,实现低耦合高内聚;AOP则分离横切关注点如事务管理,增强代码模块化。Spring还提供MVC、Data、Security等模块满足多样需求,并通过Spring Boot简化配置与部署,加速微服务架构构建。掌握这些核心概念与工具,开发者能更从容应对挑战,打造卓越应用。
44 1
|
23天前
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
基于开源框架Spring AI Alibaba快速构建Java应用
|
24天前
|
Java 数据库连接 数据库
如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面
本文介绍了如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面。通过合理配置初始连接数、最大连接数和空闲连接超时时间,确保系统性能和稳定性。文章还探讨了同步阻塞、异步回调和信号量等并发控制策略,并提供了异常处理的最佳实践。最后,给出了一个简单的连接池示例代码,并推荐使用成熟的连接池框架(如HikariCP、C3P0)以简化开发。
46 2
|
1月前
|
存储 Java 数据库
使用 AuraDB 免费版构建 Java 微服务
使用 AuraDB 免费版构建 Java 微服务
39 11
|
1月前
|
前端开发 安全 Java
Java技术深度探索:构建高效稳定的企业级应用
【10月更文挑战第5天】Java技术深度探索:构建高效稳定的企业级应用
25 0
|
1月前
|
前端开发 Java 数据库连接
Java技术深度探索:构建高效稳定的企业级应用
【10月更文挑战第5天】Java技术深度探索:构建高效稳定的企业级应用
27 0
|
2月前
|
Java API 开发者
【Java模块化新飞跃】JDK 22模块化增强:构建更灵活、更可维护的应用架构!
【9月更文挑战第9天】JDK 22的模块化增强为开发者构建更灵活、更可维护的应用架构提供了强有力的支持。通过模块化设计、精细的依赖管理和丰富的工具支持,开发者可以更加高效地开发和管理应用,提高应用的性能和可维护性。
92 10
|
3月前
|
JSON Java 对象存储
Java系统中的错误码设计问题之ProblemBuilder构建错误如何解决
Java系统中的错误码设计问题之ProblemBuilder构建错误如何解决
26 1
|
3月前
|
存储 Java
|
3月前
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
52 1
下一篇
无影云桌面