首先是用stream()流进行排序
depts.stream()
				.filter(dept -> dept.getDeptId().intValue() != dept.getParentId())
				.sorted(Comparator.comparingInt(SysDept::getSort))代码片
    用TreeNode对象的权重排序`::
    
    List<TreeNode> collect = depts.stream()
    
    .filter(dept -> dept.getDeptId().intValue() != dept.getParentId())
    
    .sorted(Comparator.comparingInt(SysDept::getSort)).map(dept -> {
    
    
    TreeNode treeNode = new TreeNode();
    
    treeNode.setId(dept.getDeptId());
    
    treeNode.setParentId(dept.getParentId());
    
    treeNode.setName(dept.getName());
    
    //这是排序的权重
    
    treeNode.setWeight(dept.getSort());
    
    return treeNode;
    
    }).collect(Collectors.toList());
   
 public Object getTree() {
        // 查询数据
        List<LxhpArea> areaList = areaService.list();
        // 构建的整个树数据
        List<TreeNode<String>> treeNodeList = areaList.stream().map(area -> {
            // 扩展字段赋值,下面要取这里的值
            Map<String, Object> extraMap = new HashMap<>();
            extraMap.put("domain", area.getDomain());
            extraMap.put("isOpen", area.getIsOpen());
            extraMap.put("bigArea", area.getBigArea());
            // 单个树数据构建
            TreeNode<String> treeNode = new TreeNode<String>()
                    .setId(String.valueOf(area.getId())) // 主键
                    .setParentId(String.valueOf(area.getReid())) // 父节点ID
                    .setName(area.getName()) // 省份名称
                    .setWeight(area.getSortOrder()) //权重,排序
                    .setExtra(extraMap); // 扩展字段
            return treeNode;
        }).collect(Collectors.toList());
        // 配置
        TreeNodeConfig treeNodeConfig = new TreeNodeConfig();
        // 自定义属性名(修改默认名称)
        treeNodeConfig.setWeightKey("sortOrder");
        treeNodeConfig.setChildrenKey("childrenNode");
        // 最大递归深度
        treeNodeConfig.setDeep(1);
        //转换器
        List<Tree<String>> treeNodes = TreeUtil.build(treeNodeList, "1", treeNodeConfig,
                (treeNode, tree) -> {
                    // 给树节点赋值(还能set 父 或子节点树)
                    tree.setId(treeNode.getId());
                    tree.setParentId(treeNode.getParentId());
                    tree.setWeight(treeNode.getWeight());
                    tree.setName(treeNode.getName());
                    // 扩展属性值赋值
                    // treeNode.getExtra().getOrDefault("domain", null) 是获取上面Map放进去的值,没有就是 null
                    tree.putExtra("domain", treeNode.getExtra().getOrDefault("domain", null));
                    tree.putExtra("isOpen", treeNode.getExtra().getOrDefault("isOpen", null));
                    tree.putExtra("bigArea", treeNode.getExtra().getOrDefault("bigArea", null));
                });
        return JSONUtil.parse(treeNodes);
    }
**
    
    
    TreeNodeConfig 属性和方法
   
    **
    
     
   
private static final long serialVersionUID = 1L;
    public static TreeNodeConfig DEFAULT_CONFIG = new TreeNodeConfig();
    private String idKey = "id";
    private String parentIdKey = "parentId";
    private String weightKey = "weight";
    private String nameKey = "name";
    private String childrenKey = "children";
    private Integer deep;
    链接:
    
     link
    
    .
   
    图片:
    
   
    带尺寸的图片:
    
   
    居中的图片:
    
   
    居中并且带尺寸的图片:
    
   
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
    
    
    如何插入一段漂亮的代码片
   
    去
    
     博客设置
    
    页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的
    
     代码片
    
    .
   
// An highlighted block
var foo = 'bar';
    
    
    生成一个适合你的列表
   
- 
     项目
- 
       项目
- 项目
 
 
- 
       项目
- 项目1
- 项目2
- 项目3
- 
     
 计划任务
- 
     
 完成任务
    
    
    创建一个表格
   
一个简单的表格是这么创建的:
| 项目 | Value | 
|---|---|
| 电脑 | $1600 | 
| 手机 | $12 | 
| 导管 | $1 | 
    
    
    设定内容居中、居左、居右
   
    使用
    
     :---------:
    
    居中
    
    使用
    
     :----------
    
    居左
    
    使用
    
     ----------:
    
    居右
   
| 第一列 | 第二列 | 第三列 | 
|---|---|---|
| 第一列文本居中 | 第二列文本居右 | 第三列文本居左 | 
    
    
    SmartyPants
   
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
| TYPE | ASCII | HTML | 
|---|---|---|
| Single backticks |  | ‘Isn’t this fun?’ | 
| Quotes |  | “Isn’t this fun?” | 
| Dashes |  | – is en-dash, — is em-dash | 
    
    
    创建一个自定义列表
   
- 
    Markdown
- 
     Text-to-
 
 HTML
 
 conversion tool
- John
- Luke
Authors
    
    
    如何创建一个注脚
   
    一个具有注脚的文本。
    
     
      1
     
    
   
    
    
    注释也是必不可少的
   
    Markdown将文本转换为
    
     HTML
    
    。
   
    
    
    KaTeX数学公式
   
    您可以使用渲染LaTeX数学表达式
    
     KaTeX
    
    :
   
    Gamma公式展示
    
     
      
       Γ 
(
n
)
=
(
n
−
1
)
!
∀
n
∈
N
        \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N
      
      
       
        
        
        
         Γ
        
        
         (
        
        
         n
        
        
         )
        
        
        
        
         =
        
        
        
       
       
        
        
        
         (
        
        
         n
        
        
        
        
         −
        
        
        
       
       
        
        
        
         1
        
        
         )
        
        
         !
        
        
        
        
         ∀
        
        
         n
        
        
        
        
         ∈
        
        
        
       
       
        
        
        
         N
        
       
      
     
    
    是通过欧拉积分
   
    
     
      
       
        Γ 
(
z
)
=
∫
0
∞
t
z
−
1
e
−
t
d
          t
          
.
         \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.
       
       
        
         
         
         
          Γ
         
         
          (
         
         
          z
         
         
          )
         
         
         
         
          =
         
         
         
        
        
         
         
         
          
           ∫
          
          
           
            
             
              
               
               
               
                
                 0
                
               
              
              
               
               
               
                
                 ∞
                
               
              
             
             
              
             
            
            
             
              
              
             
            
           
          
         
         
         
         
          
           t
          
          
           
            
             
              
               
               
               
                
                 
                  z
                 
                 
                  −
                 
                 
                  1
                 
                
               
              
             
            
           
          
         
         
          
           e
          
          
           
            
             
              
               
               
               
                
                 
                  −
                 
                 
                  t
                 
                
               
              
             
            
           
          
         
         
          d
         
         
          t
         
         
         
         
          .
         
        
       
      
     
    
   
你可以找到更多关于的信息
LaTeX
数学表达式
here
.
    
    
    新的甘特图功能,丰富你的文章
   
- 
     关于
 
 甘特图
 
 语法,参考
 
 这儿
 
 ,
    
    
    UML 图表
   
    可以使用UML图表进行渲染。
    
     Mermaid
    
    . 例如下面产生的一个序列图:
   
这将产生一个流程图。:
- 
     关于
 
 Mermaid
 
 语法,参考
 
 这儿
 
 ,
    
    
    FLowchart流程图
   
我们依旧会支持flowchart的流程图:
- 
     关于
 
 Flowchart流程图
 
 语法,参考
 
 这儿
 
 .
    
    
    导出与导入
   
    
    
    导出
   
    如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到
    
     文章导出
    
    ,生成一个.md文件或者.html文件进行本地保存。
   
    
    
    导入
   
    如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
    
    继续你的创作。
   
- 
注脚的解释 
 
 ↩︎
 
 
