# 树结构工具类 **Repository Path**: lin_yi_qing/tree-util ## Basic Information - **Project Name**: 树结构工具类 - **Description**: No description available - **Primary Language**: Unknown - **License**: EPL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 1 - **Created**: 2020-11-24 - **Last Updated**: 2021-06-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 版本2: >@TreeEntity: 标注是树状实体 > >@TreeField(fieldType=[FieldType]): 标注实体属性的代表含义 > >```java >public enum FieldType { >/** > * 主Id > */ > ID, > /** > * 父ID > */ > PID, > /** > * 子数据 > */ > CHILD >} >``` ### 1. 实体 >注意: 本次优化后不采用V1版本的递归,采用java的引用特性进行了优化,效率是之前的10倍 > >这里 @Data 注解 要加上, 子数据集合要进行初始化如: List children = new ArrayList<>(); ```java @TreeEntity @Data @Accessors(chain = true) public class Area { private String id; private String company_id; @TreeField(fieldType = FieldType.ID) private String area_code; @TreeField(fieldType = FieldType.PID) private String parent_area_code; private String area_name; private String area_level; private String citycode; private String zipcode; private String mergername; private String lan; private String lat; private String pinyin; @TreeField(fieldType = FieldType.CHILD) List children = new ArrayList<>(); } ``` ### 2.工具方法 >返回树状实体集合 ```java /** * 引用写法 绕过递归 * * @param list 所有列表 * @param pid 父级id * @param clazz 元素类型 * @param 传入元素 * * @return 树状结构集合 */ public static List toTreeList(List list, Object pid, Class clazz) 使用方式 TreeUtilV2.toTreeList(list,pid,clazz); ``` >返回树状实体 ```java /** * @param list 所有列表 * @param rootNode 根节点 * @param clazz 元素类型 * @param 传入元素 * * @return 树状结构实体 */ public static E toTree(List list, E rootNode, Class clazz) 使用方式 TreeUtilV2.toTreeList(list,rootNode,clazz); ``` ### 3. 具体操作和运行效率(3800条) #### 3.1 toTreeList >Json解析后结果: 列表形式 ```json [ { "id": "0", "child": [ { "id": "1", "child": [ { "id": "2", "child": [ ], "name": "用户管理", "pid": "1" }, { "id": "3", "child": [ ], "name": "角色管理", "pid": "1" } ], "name": "系统管理", "pid": "0" }, { "id": "4", "child": [ { "id": "5", "child": [ ], "name": "消费管理", "pid": "4" }, { "id": "6", "child": [ ], "name": "日志管理", "pid": "4" } ], "name": "订单管理", "pid": "0" } ], "name": "顶级目录", "pid": "-1" } ] ``` >toTreeList执行效率(100次记录) ```verilog 当前时间: 2020-11-26 16:19:58----程序总共运行:89ms 当前时间: 2020-11-26 16:19:59----程序总共运行:71ms 当前时间: 2020-11-26 16:19:59----程序总共运行:60ms 当前时间: 2020-11-26 16:20:00----程序总共运行:87ms 当前时间: 2020-11-26 16:20:01----程序总共运行:60ms 当前时间: 2020-11-26 16:20:01----程序总共运行:54ms 当前时间: 2020-11-26 16:20:02----程序总共运行:57ms 当前时间: 2020-11-26 16:20:02----程序总共运行:50ms 当前时间: 2020-11-26 16:20:03----程序总共运行:54ms 当前时间: 2020-11-26 16:20:03----程序总共运行:60ms 当前时间: 2020-11-26 16:20:04----程序总共运行:51ms 当前时间: 2020-11-26 16:20:05----程序总共运行:90ms 当前时间: 2020-11-26 16:20:05----程序总共运行:98ms 当前时间: 2020-11-26 16:20:06----程序总共运行:72ms 当前时间: 2020-11-26 16:20:07----程序总共运行:82ms 当前时间: 2020-11-26 16:20:07----程序总共运行:80ms 当前时间: 2020-11-26 16:20:08----程序总共运行:86ms 当前时间: 2020-11-26 16:20:08----程序总共运行:64ms 当前时间: 2020-11-26 16:20:09----程序总共运行:62ms 当前时间: 2020-11-26 16:20:09----程序总共运行:60ms 当前时间: 2020-11-26 16:20:10----程序总共运行:50ms 当前时间: 2020-11-26 16:20:10----程序总共运行:56ms 当前时间: 2020-11-26 16:20:11----程序总共运行:64ms 当前时间: 2020-11-26 16:20:11----程序总共运行:72ms 当前时间: 2020-11-26 16:20:12----程序总共运行:62ms 当前时间: 2020-11-26 16:20:12----程序总共运行:56ms 当前时间: 2020-11-26 16:20:13----程序总共运行:61ms 当前时间: 2020-11-26 16:20:13----程序总共运行:51ms 当前时间: 2020-11-26 16:20:14----程序总共运行:51ms 当前时间: 2020-11-26 16:20:14----程序总共运行:65ms 当前时间: 2020-11-26 16:20:15----程序总共运行:49ms 当前时间: 2020-11-26 16:20:15----程序总共运行:47ms 当前时间: 2020-11-26 16:20:16----程序总共运行:47ms 当前时间: 2020-11-26 16:20:16----程序总共运行:60ms 当前时间: 2020-11-26 16:20:17----程序总共运行:53ms 当前时间: 2020-11-26 16:20:17----程序总共运行:56ms 当前时间: 2020-11-26 16:20:18----程序总共运行:55ms 当前时间: 2020-11-26 16:20:18----程序总共运行:52ms 当前时间: 2020-11-26 16:20:19----程序总共运行:60ms 当前时间: 2020-11-26 16:20:19----程序总共运行:63ms 当前时间: 2020-11-26 16:20:20----程序总共运行:57ms 当前时间: 2020-11-26 16:20:20----程序总共运行:52ms 当前时间: 2020-11-26 16:20:21----程序总共运行:49ms 当前时间: 2020-11-26 16:20:21----程序总共运行:67ms 当前时间: 2020-11-26 16:20:22----程序总共运行:80ms 当前时间: 2020-11-26 16:20:22----程序总共运行:51ms 当前时间: 2020-11-26 16:20:23----程序总共运行:57ms 当前时间: 2020-11-26 16:20:23----程序总共运行:52ms 当前时间: 2020-11-26 16:20:24----程序总共运行:54ms 当前时间: 2020-11-26 16:20:24----程序总共运行:66ms 当前时间: 2020-11-26 16:20:25----程序总共运行:50ms 当前时间: 2020-11-26 16:20:25----程序总共运行:47ms 当前时间: 2020-11-26 16:20:26----程序总共运行:51ms 当前时间: 2020-11-26 16:20:26----程序总共运行:49ms 当前时间: 2020-11-26 16:20:27----程序总共运行:51ms 当前时间: 2020-11-26 16:20:27----程序总共运行:48ms 当前时间: 2020-11-26 16:20:28----程序总共运行:60ms 当前时间: 2020-11-26 16:20:28----程序总共运行:51ms 当前时间: 2020-11-26 16:20:29----程序总共运行:54ms 当前时间: 2020-11-26 16:20:29----程序总共运行:54ms 当前时间: 2020-11-26 16:20:30----程序总共运行:52ms 当前时间: 2020-11-26 16:20:30----程序总共运行:52ms 当前时间: 2020-11-26 16:20:31----程序总共运行:50ms 当前时间: 2020-11-26 16:20:31----程序总共运行:53ms 当前时间: 2020-11-26 16:20:32----程序总共运行:61ms 当前时间: 2020-11-26 16:20:33----程序总共运行:73ms 当前时间: 2020-11-26 16:20:34----程序总共运行:61ms 当前时间: 2020-11-26 16:20:34----程序总共运行:49ms 当前时间: 2020-11-26 16:20:34----程序总共运行:54ms 当前时间: 2020-11-26 16:20:35----程序总共运行:50ms 当前时间: 2020-11-26 16:20:36----程序总共运行:50ms 当前时间: 2020-11-26 16:20:36----程序总共运行:67ms 当前时间: 2020-11-26 16:20:37----程序总共运行:68ms 当前时间: 2020-11-26 16:20:37----程序总共运行:52ms 当前时间: 2020-11-26 16:20:38----程序总共运行:54ms 当前时间: 2020-11-26 16:20:38----程序总共运行:55ms 当前时间: 2020-11-26 16:20:39----程序总共运行:48ms 当前时间: 2020-11-26 16:20:39----程序总共运行:60ms 当前时间: 2020-11-26 16:20:40----程序总共运行:50ms 当前时间: 2020-11-26 16:20:40----程序总共运行:51ms 当前时间: 2020-11-26 16:20:41----程序总共运行:51ms 当前时间: 2020-11-26 16:20:41----程序总共运行:50ms 当前时间: 2020-11-26 16:20:42----程序总共运行:80ms 当前时间: 2020-11-26 16:20:42----程序总共运行:59ms 当前时间: 2020-11-26 16:20:43----程序总共运行:49ms 当前时间: 2020-11-26 16:20:43----程序总共运行:48ms 当前时间: 2020-11-26 16:20:44----程序总共运行:48ms 当前时间: 2020-11-26 16:20:44----程序总共运行:49ms 当前时间: 2020-11-26 16:20:44----程序总共运行:66ms 当前时间: 2020-11-26 16:20:45----程序总共运行:51ms 当前时间: 2020-11-26 16:20:45----程序总共运行:51ms 当前时间: 2020-11-26 16:20:46----程序总共运行:59ms 当前时间: 2020-11-26 16:20:46----程序总共运行:50ms 当前时间: 2020-11-26 16:20:47----程序总共运行:50ms 当前时间: 2020-11-26 16:20:47----程序总共运行:63ms 当前时间: 2020-11-26 16:20:48----程序总共运行:57ms 当前时间: 2020-11-26 16:20:48----程序总共运行:57ms 当前时间: 2020-11-26 16:20:49----程序总共运行:49ms 当前时间: 2020-11-26 16:20:49----程序总共运行:64ms 当前时间: 2020-11-26 16:20:50----程序总共运行:53ms ``` #### 3.2 toTree >Json解析后结果: 列表形式 ```json { "id": "0", "name": "顶级目录", "pid": "-1", "child": [ { "id": "1", "name": "系统管理", "pid": "0", "child": [ { "id": "2", "name": "用户管理", "pid": "1", "child": [ ] }, { "id": "3", "name": "角色管理", "pid": "1", "child": [ ] } ] }, { "id": "4", "name": "订单管理", "pid": "0", "child": [ { "id": "5", "name": "消费管理", "pid": "4", "child": [ ] }, { "id": "6", "name": "日志管理", "pid": "4", "child": [ ] } ] } ] } ``` > toTree执行效率(100次记录) ```verilog 当前时间: 2020-11-26 16:19:57----程序总共运行:156ms 当前时间: 2020-11-26 16:19:58----程序总共运行:11ms 当前时间: 2020-11-26 16:19:59----程序总共运行:11ms 当前时间: 2020-11-26 16:20:00----程序总共运行:11ms 当前时间: 2020-11-26 16:20:00----程序总共运行:12ms 当前时间: 2020-11-26 16:20:01----程序总共运行:12ms 当前时间: 2020-11-26 16:20:01----程序总共运行:11ms 当前时间: 2020-11-26 16:20:02----程序总共运行:23ms 当前时间: 2020-11-26 16:20:03----程序总共运行:12ms 当前时间: 2020-11-26 16:20:03----程序总共运行:11ms 当前时间: 2020-11-26 16:20:04----程序总共运行:13ms 当前时间: 2020-11-26 16:20:04----程序总共运行:12ms 当前时间: 2020-11-26 16:20:05----程序总共运行:20ms 当前时间: 2020-11-26 16:20:06----程序总共运行:11ms 当前时间: 2020-11-26 16:20:07----程序总共运行:11ms 当前时间: 2020-11-26 16:20:07----程序总共运行:11ms 当前时间: 2020-11-26 16:20:08----程序总共运行:11ms 当前时间: 2020-11-26 16:20:08----程序总共运行:11ms 当前时间: 2020-11-26 16:20:09----程序总共运行:13ms 当前时间: 2020-11-26 16:20:09----程序总共运行:10ms 当前时间: 2020-11-26 16:20:10----程序总共运行:10ms 当前时间: 2020-11-26 16:20:10----程序总共运行:10ms 当前时间: 2020-11-26 16:20:11----程序总共运行:11ms 当前时间: 2020-11-26 16:20:11----程序总共运行:10ms 当前时间: 2020-11-26 16:20:12----程序总共运行:10ms 当前时间: 2020-11-26 16:20:12----程序总共运行:10ms 当前时间: 2020-11-26 16:20:13----程序总共运行:10ms 当前时间: 2020-11-26 16:20:13----程序总共运行:10ms 当前时间: 2020-11-26 16:20:14----程序总共运行:11ms 当前时间: 2020-11-26 16:20:14----程序总共运行:10ms 当前时间: 2020-11-26 16:20:15----程序总共运行:11ms 当前时间: 2020-11-26 16:20:15----程序总共运行:11ms 当前时间: 2020-11-26 16:20:16----程序总共运行:10ms 当前时间: 2020-11-26 16:20:16----程序总共运行:9ms 当前时间: 2020-11-26 16:20:17----程序总共运行:10ms 当前时间: 2020-11-26 16:20:17----程序总共运行:11ms 当前时间: 2020-11-26 16:20:18----程序总共运行:10ms 当前时间: 2020-11-26 16:20:18----程序总共运行:9ms 当前时间: 2020-11-26 16:20:19----程序总共运行:12ms 当前时间: 2020-11-26 16:20:19----程序总共运行:9ms 当前时间: 2020-11-26 16:20:20----程序总共运行:10ms 当前时间: 2020-11-26 16:20:20----程序总共运行:11ms 当前时间: 2020-11-26 16:20:21----程序总共运行:10ms 当前时间: 2020-11-26 16:20:21----程序总共运行:11ms 当前时间: 2020-11-26 16:20:22----程序总共运行:11ms 当前时间: 2020-11-26 16:20:22----程序总共运行:10ms 当前时间: 2020-11-26 16:20:23----程序总共运行:10ms 当前时间: 2020-11-26 16:20:23----程序总共运行:10ms 当前时间: 2020-11-26 16:20:24----程序总共运行:10ms 当前时间: 2020-11-26 16:20:24----程序总共运行:10ms 当前时间: 2020-11-26 16:20:25----程序总共运行:11ms 当前时间: 2020-11-26 16:20:25----程序总共运行:11ms 当前时间: 2020-11-26 16:20:26----程序总共运行:10ms 当前时间: 2020-11-26 16:20:26----程序总共运行:10ms 当前时间: 2020-11-26 16:20:27----程序总共运行:11ms 当前时间: 2020-11-26 16:20:27----程序总共运行:13ms 当前时间: 2020-11-26 16:20:28----程序总共运行:10ms 当前时间: 2020-11-26 16:20:28----程序总共运行:10ms 当前时间: 2020-11-26 16:20:29----程序总共运行:11ms 当前时间: 2020-11-26 16:20:29----程序总共运行:14ms 当前时间: 2020-11-26 16:20:30----程序总共运行:10ms 当前时间: 2020-11-26 16:20:30----程序总共运行:18ms 当前时间: 2020-11-26 16:20:31----程序总共运行:10ms 当前时间: 2020-11-26 16:20:31----程序总共运行:9ms 当前时间: 2020-11-26 16:20:32----程序总共运行:12ms 当前时间: 2020-11-26 16:20:32----程序总共运行:10ms 当前时间: 2020-11-26 16:20:33----程序总共运行:10ms 当前时间: 2020-11-26 16:20:34----程序总共运行:10ms 当前时间: 2020-11-26 16:20:34----程序总共运行:12ms 当前时间: 2020-11-26 16:20:35----程序总共运行:10ms 当前时间: 2020-11-26 16:20:35----程序总共运行:10ms 当前时间: 2020-11-26 16:20:36----程序总共运行:11ms 当前时间: 2020-11-26 16:20:36----程序总共运行:10ms 当前时间: 2020-11-26 16:20:37----程序总共运行:10ms 当前时间: 2020-11-26 16:20:37----程序总共运行:13ms 当前时间: 2020-11-26 16:20:38----程序总共运行:11ms 当前时间: 2020-11-26 16:20:38----程序总共运行:10ms 当前时间: 2020-11-26 16:20:39----程序总共运行:12ms 当前时间: 2020-11-26 16:20:39----程序总共运行:19ms 当前时间: 2020-11-26 16:20:40----程序总共运行:14ms 当前时间: 2020-11-26 16:20:40----程序总共运行:13ms 当前时间: 2020-11-26 16:20:41----程序总共运行:10ms 当前时间: 2020-11-26 16:20:41----程序总共运行:12ms 当前时间: 2020-11-26 16:20:42----程序总共运行:11ms 当前时间: 2020-11-26 16:20:42----程序总共运行:13ms 当前时间: 2020-11-26 16:20:43----程序总共运行:11ms 当前时间: 2020-11-26 16:20:43----程序总共运行:10ms 当前时间: 2020-11-26 16:20:44----程序总共运行:10ms 当前时间: 2020-11-26 16:20:44----程序总共运行:10ms 当前时间: 2020-11-26 16:20:45----程序总共运行:11ms 当前时间: 2020-11-26 16:20:45----程序总共运行:11ms 当前时间: 2020-11-26 16:20:46----程序总共运行:14ms 当前时间: 2020-11-26 16:20:46----程序总共运行:11ms 当前时间: 2020-11-26 16:20:47----程序总共运行:12ms 当前时间: 2020-11-26 16:20:47----程序总共运行:10ms 当前时间: 2020-11-26 16:20:48----程序总共运行:10ms 当前时间: 2020-11-26 16:20:48----程序总共运行:10ms 当前时间: 2020-11-26 16:20:49----程序总共运行:10ms 当前时间: 2020-11-26 16:20:49----程序总共运行:10ms 当前时间: 2020-11-26 16:20:50----程序总共运行:9ms ``` # 版本3: >@TreeEntity: 标注是树状实体 > >@TreeId: 标注实体的主ID > >@TreePid: 标注实体的父ID > >@TreeChild: 标注实体的子数据 ### 1. 实体 >注意: 本次优化后不采用V1版本的递归,采用java的引用特性进行了优化,效率是之前的10倍 > >这里 @Data 注解 要加上, 子数据集合要进行初始化如: List children = new ArrayList<>(); ```java @TreeEntity @Data @Accessors(chain = true) public class Area { private String id; private String company_id; @TreeId private String area_code; @TreePid private String parent_area_code; private String area_name; private String area_level; private String citycode; private String zipcode; private String mergername; private String lan; private String lat; private String pinyin; @TreeChild List children = new ArrayList<>(); } ``` ### 2.工具方法 >返回树状实体集合 ```java /** * 引用写法 绕过递归 * * @param list 所有列表 * @param pid 父级id * @param clazz 元素类型 * @param 传入元素 * * @return 树状结构集合 */ public static List toTreeList(List list, Object pid, Class clazz) 使用方式 TreeUtilV3.toTreeList(list,pid,clazz); ``` >返回树状实体 ```java /** * @param list 所有列表 * @param rootNode 根节点 * @param clazz 元素类型 * @param 传入元素 * * @return 树状结构实体 */ public static E toTree(List list, E rootNode, Class clazz) 使用方式 TreeUtilV3.toTreeList(list,rootNode,clazz); ``` ### 3. 具体操作和运行效率(3800条) #### 3.1 toTreeList >Json解析后结果: 列表形式 ```json [ { "id": "0", "child": [ { "id": "1", "child": [ { "id": "2", "child": [ ], "name": "用户管理", "pid": "1" }, { "id": "3", "child": [ ], "name": "角色管理", "pid": "1" } ], "name": "系统管理", "pid": "0" }, { "id": "4", "child": [ { "id": "5", "child": [ ], "name": "消费管理", "pid": "4" }, { "id": "6", "child": [ ], "name": "日志管理", "pid": "4" } ], "name": "订单管理", "pid": "0" } ], "name": "顶级目录", "pid": "-1" } ] ``` >toTreeList执行效率(100次记录) ```verilog 当前时间: 2020-11-26 16:19:58----程序总共运行:38ms 当前时间: 2020-11-26 16:19:59----程序总共运行:28ms 当前时间: 2020-11-26 16:20:00----程序总共运行:19ms 当前时间: 2020-11-26 16:20:00----程序总共运行:18ms 当前时间: 2020-11-26 16:20:01----程序总共运行:19ms 当前时间: 2020-11-26 16:20:01----程序总共运行:23ms 当前时间: 2020-11-26 16:20:02----程序总共运行:34ms 当前时间: 2020-11-26 16:20:03----程序总共运行:19ms 当前时间: 2020-11-26 16:20:03----程序总共运行:15ms 当前时间: 2020-11-26 16:20:04----程序总共运行:13ms 当前时间: 2020-11-26 16:20:04----程序总共运行:13ms 当前时间: 2020-11-26 16:20:05----程序总共运行:47ms 当前时间: 2020-11-26 16:20:06----程序总共运行:18ms 当前时间: 2020-11-26 16:20:06----程序总共运行:41ms 当前时间: 2020-11-26 16:20:07----程序总共运行:35ms 当前时间: 2020-11-26 16:20:08----程序总共运行:17ms 当前时间: 2020-11-26 16:20:08----程序总共运行:17ms 当前时间: 2020-11-26 16:20:09----程序总共运行:13ms 当前时间: 2020-11-26 16:20:09----程序总共运行:16ms 当前时间: 2020-11-26 16:20:10----程序总共运行:16ms 当前时间: 2020-11-26 16:20:10----程序总共运行:17ms 当前时间: 2020-11-26 16:20:11----程序总共运行:15ms 当前时间: 2020-11-26 16:20:11----程序总共运行:17ms 当前时间: 2020-11-26 16:20:12----程序总共运行:15ms 当前时间: 2020-11-26 16:20:12----程序总共运行:13ms 当前时间: 2020-11-26 16:20:13----程序总共运行:16ms 当前时间: 2020-11-26 16:20:13----程序总共运行:17ms 当前时间: 2020-11-26 16:20:14----程序总共运行:18ms 当前时间: 2020-11-26 16:20:14----程序总共运行:12ms 当前时间: 2020-11-26 16:20:15----程序总共运行:15ms 当前时间: 2020-11-26 16:20:15----程序总共运行:13ms 当前时间: 2020-11-26 16:20:16----程序总共运行:13ms 当前时间: 2020-11-26 16:20:16----程序总共运行:13ms 当前时间: 2020-11-26 16:20:17----程序总共运行:14ms 当前时间: 2020-11-26 16:20:17----程序总共运行:15ms 当前时间: 2020-11-26 16:20:18----程序总共运行:13ms 当前时间: 2020-11-26 16:20:18----程序总共运行:16ms 当前时间: 2020-11-26 16:20:19----程序总共运行:13ms 当前时间: 2020-11-26 16:20:19----程序总共运行:14ms 当前时间: 2020-11-26 16:20:20----程序总共运行:17ms 当前时间: 2020-11-26 16:20:20----程序总共运行:13ms 当前时间: 2020-11-26 16:20:21----程序总共运行:13ms 当前时间: 2020-11-26 16:20:21----程序总共运行:13ms 当前时间: 2020-11-26 16:20:22----程序总共运行:14ms 当前时间: 2020-11-26 16:20:22----程序总共运行:14ms 当前时间: 2020-11-26 16:20:23----程序总共运行:13ms 当前时间: 2020-11-26 16:20:23----程序总共运行:12ms 当前时间: 2020-11-26 16:20:24----程序总共运行:12ms 当前时间: 2020-11-26 16:20:24----程序总共运行:12ms 当前时间: 2020-11-26 16:20:25----程序总共运行:12ms 当前时间: 2020-11-26 16:20:25----程序总共运行:12ms 当前时间: 2020-11-26 16:20:26----程序总共运行:13ms 当前时间: 2020-11-26 16:20:26----程序总共运行:15ms 当前时间: 2020-11-26 16:20:27----程序总共运行:12ms 当前时间: 2020-11-26 16:20:27----程序总共运行:13ms 当前时间: 2020-11-26 16:20:28----程序总共运行:13ms 当前时间: 2020-11-26 16:20:28----程序总共运行:12ms 当前时间: 2020-11-26 16:20:29----程序总共运行:13ms 当前时间: 2020-11-26 16:20:29----程序总共运行:17ms 当前时间: 2020-11-26 16:20:30----程序总共运行:12ms 当前时间: 2020-11-26 16:20:30----程序总共运行:13ms 当前时间: 2020-11-26 16:20:31----程序总共运行:13ms 当前时间: 2020-11-26 16:20:31----程序总共运行:17ms 当前时间: 2020-11-26 16:20:32----程序总共运行:12ms 当前时间: 2020-11-26 16:20:32----程序总共运行:17ms 当前时间: 2020-11-26 16:20:33----程序总共运行:15ms 当前时间: 2020-11-26 16:20:34----程序总共运行:12ms 当前时间: 2020-11-26 16:20:34----程序总共运行:17ms 当前时间: 2020-11-26 16:20:35----程序总共运行:13ms 当前时间: 2020-11-26 16:20:35----程序总共运行:15ms 当前时间: 2020-11-26 16:20:36----程序总共运行:13ms 当前时间: 2020-11-26 16:20:36----程序总共运行:16ms 当前时间: 2020-11-26 16:20:37----程序总共运行:13ms 当前时间: 2020-11-26 16:20:37----程序总共运行:14ms 当前时间: 2020-11-26 16:20:38----程序总共运行:13ms 当前时间: 2020-11-26 16:20:38----程序总共运行:12ms 当前时间: 2020-11-26 16:20:39----程序总共运行:12ms 当前时间: 2020-11-26 16:20:39----程序总共运行:12ms 当前时间: 2020-11-26 16:20:40----程序总共运行:13ms 当前时间: 2020-11-26 16:20:40----程序总共运行:12ms 当前时间: 2020-11-26 16:20:41----程序总共运行:12ms 当前时间: 2020-11-26 16:20:41----程序总共运行:13ms 当前时间: 2020-11-26 16:20:42----程序总共运行:13ms 当前时间: 2020-11-26 16:20:42----程序总共运行:16ms 当前时间: 2020-11-26 16:20:43----程序总共运行:14ms 当前时间: 2020-11-26 16:20:43----程序总共运行:12ms 当前时间: 2020-11-26 16:20:44----程序总共运行:13ms 当前时间: 2020-11-26 16:20:44----程序总共运行:12ms 当前时间: 2020-11-26 16:20:45----程序总共运行:13ms 当前时间: 2020-11-26 16:20:45----程序总共运行:13ms 当前时间: 2020-11-26 16:20:46----程序总共运行:12ms 当前时间: 2020-11-26 16:20:46----程序总共运行:13ms 当前时间: 2020-11-26 16:20:47----程序总共运行:13ms 当前时间: 2020-11-26 16:20:47----程序总共运行:19ms 当前时间: 2020-11-26 16:20:48----程序总共运行:24ms 当前时间: 2020-11-26 16:20:48----程序总共运行:16ms 当前时间: 2020-11-26 16:20:49----程序总共运行:12ms 当前时间: 2020-11-26 16:20:49----程序总共运行:15ms 当前时间: 2020-11-26 16:20:50----程序总共运行:12ms 当前时间: 2020-11-26 16:20:50----程序总共运行:12ms ``` #### 3.2 toTree >Json解析后结果: 列表形式 ```json { "id": "0", "name": "顶级目录", "pid": "-1", "child": [ { "id": "1", "name": "系统管理", "pid": "0", "child": [ { "id": "2", "name": "用户管理", "pid": "1", "child": [ ] }, { "id": "3", "name": "角色管理", "pid": "1", "child": [ ] } ] }, { "id": "4", "name": "订单管理", "pid": "0", "child": [ { "id": "5", "name": "消费管理", "pid": "4", "child": [ ] }, { "id": "6", "name": "日志管理", "pid": "4", "child": [ ] } ] } ] } ``` > toTree执行效率(100次记录) ```verilog 当前时间: 2020-11-26 16:19:58----程序总共运行:24ms 当前时间: 2020-11-26 16:19:59----程序总共运行:25ms 当前时间: 2020-11-26 16:19:59----程序总共运行:15ms 当前时间: 2020-11-26 16:20:00----程序总共运行:25ms 当前时间: 2020-11-26 16:20:01----程序总共运行:16ms 当前时间: 2020-11-26 16:20:01----程序总共运行:16ms 当前时间: 2020-11-26 16:20:02----程序总共运行:24ms 当前时间: 2020-11-26 16:20:02----程序总共运行:21ms 当前时间: 2020-11-26 16:20:03----程序总共运行:15ms 当前时间: 2020-11-26 16:20:03----程序总共运行:15ms 当前时间: 2020-11-26 16:20:04----程序总共运行:21ms 当前时间: 2020-11-26 16:20:05----程序总共运行:24ms 当前时间: 2020-11-26 16:20:06----程序总共运行:23ms 当前时间: 2020-11-26 16:20:06----程序总共运行:14ms 当前时间: 2020-11-26 16:20:07----程序总共运行:16ms 当前时间: 2020-11-26 16:20:07----程序总共运行:14ms 当前时间: 2020-11-26 16:20:08----程序总共运行:11ms 当前时间: 2020-11-26 16:20:09----程序总共运行:10ms 当前时间: 2020-11-26 16:20:09----程序总共运行:11ms 当前时间: 2020-11-26 16:20:10----程序总共运行:10ms 当前时间: 2020-11-26 16:20:10----程序总共运行:10ms 当前时间: 2020-11-26 16:20:11----程序总共运行:10ms 当前时间: 2020-11-26 16:20:11----程序总共运行:10ms 当前时间: 2020-11-26 16:20:12----程序总共运行:10ms 当前时间: 2020-11-26 16:20:12----程序总共运行:11ms 当前时间: 2020-11-26 16:20:13----程序总共运行:11ms 当前时间: 2020-11-26 16:20:13----程序总共运行:10ms 当前时间: 2020-11-26 16:20:14----程序总共运行:11ms 当前时间: 2020-11-26 16:20:14----程序总共运行:13ms 当前时间: 2020-11-26 16:20:15----程序总共运行:11ms 当前时间: 2020-11-26 16:20:15----程序总共运行:10ms 当前时间: 2020-11-26 16:20:16----程序总共运行:12ms 当前时间: 2020-11-26 16:20:16----程序总共运行:10ms 当前时间: 2020-11-26 16:20:17----程序总共运行:11ms 当前时间: 2020-11-26 16:20:17----程序总共运行:11ms 当前时间: 2020-11-26 16:20:18----程序总共运行:10ms 当前时间: 2020-11-26 16:20:18----程序总共运行:10ms 当前时间: 2020-11-26 16:20:19----程序总共运行:15ms 当前时间: 2020-11-26 16:20:19----程序总共运行:10ms 当前时间: 2020-11-26 16:20:20----程序总共运行:10ms 当前时间: 2020-11-26 16:20:20----程序总共运行:10ms 当前时间: 2020-11-26 16:20:21----程序总共运行:11ms 当前时间: 2020-11-26 16:20:21----程序总共运行:10ms 当前时间: 2020-11-26 16:20:22----程序总共运行:11ms 当前时间: 2020-11-26 16:20:22----程序总共运行:10ms 当前时间: 2020-11-26 16:20:23----程序总共运行:11ms 当前时间: 2020-11-26 16:20:23----程序总共运行:10ms 当前时间: 2020-11-26 16:20:24----程序总共运行:14ms 当前时间: 2020-11-26 16:20:24----程序总共运行:10ms 当前时间: 2020-11-26 16:20:25----程序总共运行:10ms 当前时间: 2020-11-26 16:20:25----程序总共运行:10ms 当前时间: 2020-11-26 16:20:26----程序总共运行:10ms 当前时间: 2020-11-26 16:20:26----程序总共运行:11ms 当前时间: 2020-11-26 16:20:27----程序总共运行:10ms 当前时间: 2020-11-26 16:20:27----程序总共运行:11ms 当前时间: 2020-11-26 16:20:28----程序总共运行:10ms 当前时间: 2020-11-26 16:20:28----程序总共运行:10ms 当前时间: 2020-11-26 16:20:29----程序总共运行:10ms 当前时间: 2020-11-26 16:20:29----程序总共运行:10ms 当前时间: 2020-11-26 16:20:30----程序总共运行:16ms 当前时间: 2020-11-26 16:20:30----程序总共运行:10ms 当前时间: 2020-11-26 16:20:31----程序总共运行:11ms 当前时间: 2020-11-26 16:20:31----程序总共运行:10ms 当前时间: 2020-11-26 16:20:32----程序总共运行:12ms 当前时间: 2020-11-26 16:20:32----程序总共运行:11ms 当前时间: 2020-11-26 16:20:33----程序总共运行:11ms 当前时间: 2020-11-26 16:20:34----程序总共运行:15ms 当前时间: 2020-11-26 16:20:34----程序总共运行:11ms 当前时间: 2020-11-26 16:20:35----程序总共运行:10ms 当前时间: 2020-11-26 16:20:35----程序总共运行:10ms 当前时间: 2020-11-26 16:20:36----程序总共运行:11ms 当前时间: 2020-11-26 16:20:36----程序总共运行:10ms 当前时间: 2020-11-26 16:20:37----程序总共运行:10ms 当前时间: 2020-11-26 16:20:37----程序总共运行:11ms 当前时间: 2020-11-26 16:20:38----程序总共运行:10ms 当前时间: 2020-11-26 16:20:38----程序总共运行:12ms 当前时间: 2020-11-26 16:20:39----程序总共运行:11ms 当前时间: 2020-11-26 16:20:39----程序总共运行:13ms 当前时间: 2020-11-26 16:20:40----程序总共运行:10ms 当前时间: 2020-11-26 16:20:40----程序总共运行:14ms 当前时间: 2020-11-26 16:20:41----程序总共运行:10ms 当前时间: 2020-11-26 16:20:41----程序总共运行:10ms 当前时间: 2020-11-26 16:20:42----程序总共运行:10ms 当前时间: 2020-11-26 16:20:42----程序总共运行:10ms 当前时间: 2020-11-26 16:20:43----程序总共运行:10ms 当前时间: 2020-11-26 16:20:43----程序总共运行:10ms 当前时间: 2020-11-26 16:20:44----程序总共运行:11ms 当前时间: 2020-11-26 16:20:44----程序总共运行:9ms 当前时间: 2020-11-26 16:20:45----程序总共运行:11ms 当前时间: 2020-11-26 16:20:45----程序总共运行:14ms 当前时间: 2020-11-26 16:20:46----程序总共运行:10ms 当前时间: 2020-11-26 16:20:46----程序总共运行:10ms 当前时间: 2020-11-26 16:20:47----程序总共运行:9ms 当前时间: 2020-11-26 16:20:47----程序总共运行:10ms 当前时间: 2020-11-26 16:20:48----程序总共运行:9ms 当前时间: 2020-11-26 16:20:48----程序总共运行:9ms 当前时间: 2020-11-26 16:20:49----程序总共运行:11ms 当前时间: 2020-11-26 16:20:49----程序总共运行:9ms 当前时间: 2020-11-26 16:20:50----程序总共运行:11ms 当前时间: 2020-11-26 16:20:50----程序总共运行:10ms ``` >整体上: 目前V3效果比V2好一点 ```shell 方法1:打包使用idea 打开 使用插件 跳过单元测试 方法2:maven指令跳过单元测试: mvn package -Dmaven.test.skip=true ```