# 树结构工具类
**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
```