java无限极树案例

这是最终要展示出来的样式,参考的是element-ui上面的级联选择框,使用的是2.0版本

element-u官网:Element - The world's most popular Vue UI frameworkElement,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库icon-default.png?t=N7T8https://element.eleme.cn/

 前端代码:官网提供的写法 可以参照这这个来写

 代码展示:

        前端:

数据模型定义:

              data:{

              // 部门树

                deptTree:'',

                }

方法函数:

前端数据提交对上级部门处理:

  后端service代码展示:

小伙伴们抓紧学起来!!!!!!!!

实现一颗无限极可以通过递归的方式实现。具体思路如下: 1. 定义节点类,包含节点ID、节点名称、父节点ID、子节点列表等属性。 2. 创建节点列表,将根节点加入列表中。 3. 以递归的方式遍历节点列表,对于每个节点,根据其父节点ID查找父节点,将其加入父节点的子节点列表中。 4. 遍历完节点列表后,即可得到一颗完整的无限极。 以下是一个示例代码: ```java public class TreeNode { private int id; private String name; private int parentId; private List<TreeNode> children; public TreeNode(int id, String name, int parentId) { this.id = id; this.name = name; this.parentId = parentId; this.children = new ArrayList<>(); } // getter and setter public static void main(String[] args) { // 构造节点列表 List<TreeNode> nodeList = new ArrayList<>(); nodeList.add(new TreeNode(1, "节点1", 0)); nodeList.add(new TreeNode(2, "节点2", 1)); nodeList.add(new TreeNode(3, "节点3", 1)); nodeList.add(new TreeNode(4, "节点4", 2)); nodeList.add(new TreeNode(5, "节点5", 4)); // 递归构造 TreeNode root = new TreeNode(0, "根节点", -1); buildTree(root, nodeList); // 输出 printTree(root, 0); } // 递归构造 public static void buildTree(TreeNode parent, List<TreeNode> nodeList) { for (TreeNode node : nodeList) { if (node.getParentId() == parent.getId()) { parent.getChildren().add(node); buildTree(node, nodeList); } } } // 输出 public static void printTree(TreeNode node, int level) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < level; i++) { sb.append("-"); } System.out.println(sb.toString() + node.getName()); for (TreeNode child : node.getChildren()) { printTree(child, level + 1); } } } ``` 在上述示例代码中,我们定义了一个TreeNode类,其中包含节点ID、节点名称、父节点ID、子节点列表等属性。在main方法中,我们构造了一个节点列表,然后调用buildTree方法递归构造。最后调用printTree方法输出的结构。输出结果如下: ``` -根节点 --节点1 ---节点2 ----节点4 -----节点5 ---节点3 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值