• 根据数组生成tree节点


    TEST.java

    package com.haiyi.test;
    
    import java.util.ArrayList;
    
    import com.google.gson.Gson;
    import com.haiyi.model.JiBieVO;
    import com.haiyi.service.JiBieService;
    import com.haiyi.util.TreeNode;
    import com.ywb.messageDigest.MD5Digest;
    
    public class Test {
        private static JiBieService jiBieService=new JiBieService();
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            
            getTreeNode();
            
            
        }
        
        public static void getTreeNode(){
            String[] a=new String[]{"101","201","301","401","501","601","701","801"};
            TreeNode node=new TreeNode();
            node.setId("101");
            node.setText("华为技术");
            for (int i = 0; i < a.length; i++) {
                String pid = node.getId();
                getTreeChild(node,pid,a[i],i);
            }
            
            String json=new Gson().toJson(node);
            System.out.println(json);
    //        System.out.print("{"info":"test"," +
    //                         ""treeJson":"+json+"}");
    
            String[] b=new String[]{"101","201","301","402"};
            
            for (int i = 0; i < b.length; i++) {
                if(b[i]==a[i]){
                    continue;
                }
                String pid = node.getId();
                getTreeChild(node,pid,b[i],i);
            }
            String jsonb=new Gson().toJson(node);
            System.out.println(jsonb);
        }
        public static void getTreeChild(TreeNode node,String pid,String id,int i){
            if(i==1){
                ArrayList<TreeNode> children = node.getChildren();
                for (TreeNode treeNode : children) {
                    if(treeNode.getId().equals(id)){
                        return;
                    }
                }
                TreeNode child=new TreeNode(id,id);
                node.addChildren(child);
            }
            if(i==2){
                ArrayList<TreeNode> children = node.getChildren();
                for (TreeNode treeNode : children) {
                    if(treeNode.getId().equals(id)){
                        return;
                    }
                }
                TreeNode child=new TreeNode(id,id);
                node.getChildren().get(0)
                    .addChildren(child);
            }
            if(i==3){
                ArrayList<TreeNode> children = node.getChildren();
                for (TreeNode treeNode : children) {
                    if(treeNode.getId().equals(id)){
                        return;
                    }
                }
                TreeNode child=new TreeNode(id,id);
                node.getChildren().get(0)
                    .getChildren().get(0)
                    .addChildren(child);
            }
            if(i==4){
                ArrayList<TreeNode> children = node.getChildren();
                for (TreeNode treeNode : children) {
                    if(treeNode.getId().equals(id)){
                        return;
                    }
                }
                TreeNode child=new TreeNode(id,id);
                node.getChildren().get(0)
                    .getChildren().get(0)
                    .getChildren().get(0)
                    .addChildren(child);
            }
            if(i==5){
                ArrayList<TreeNode> children = node.getChildren();
                for (TreeNode treeNode : children) {
                    if(treeNode.getId().equals(id)){
                        return;
                    }
                }
                TreeNode child=new TreeNode(id,id);
                node.getChildren().get(0)
                    .getChildren().get(0)
                    .getChildren().get(0)
                    .getChildren().get(0)
                    .addChildren(child);
            }
        }
    
    }

    TtreeNode.java

    package com.haiyi.util;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Map;
    
    public class TreeNode {
    
        private String text;
        private String id;
        private Map<String,Object> attributes;
        private boolean checked;
        private ArrayList<TreeNode> children;
        private String state;
        
        public TreeNode(){
            attributes=new HashMap<String,Object>();
            //state="closed";//默认关闭
            checked=false;
            children=new ArrayList<TreeNode>();
        }
        
        public TreeNode(String text, String id) {
            super();
            this.text = text;
            this.id = id;
            attributes=new HashMap<String,Object>();
            //state="closed";//默认关闭
            checked=false;
            children=new ArrayList<TreeNode>();
        }
        
        public String getText() {
            return text;
        }
        public void setText(String text) {
            this.text = text;
        }
        public String getId() {
            return id;
        }
        public void setId(String id) {
            this.id = id;
        }
        
        public Map<String, Object> getAttributes() {
            return attributes;
        }
    
        public void setAttributes(Map<String, Object> attributes) {
            this.attributes = attributes;
        }
    
        
        public String getState() {
            return state;
        }
    
        public void setState(String state) {
            this.state = state;
        }
    
        public boolean isChecked() {
            return checked;
        }
        public void setChecked(boolean checked) {
            this.checked = checked;
        }
        
    
        public ArrayList<TreeNode> getChildren() {
            return children;
        }
    
        public void setChildren(ArrayList<TreeNode> children) {
            this.children = children;
        }
    
        /**
         * 添加子节点
         */
        public void addChildren(TreeNode node){
            children.add(node);
        }
    
        @Override
        public String toString() {
            return "TreeNode [text=" + text + ", id=" + id + ", attributes="
                    + attributes + ", checked=" + checked + ", children="
                    + children + ", state=" + state + "]";
        }
        
        
    }
  • 相关阅读:
    How does “void *” differ in C and C++?
    Can we use function on left side of an expression in C and C++?
    apache配置局域网访问
    apache以天为单位生成日志
    尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
    IIS 处理程序“PageHandlerFactory-Integrated”
    IIS无法识别的属性targetFramework
    php开启短标签支持
    Notepad++配色方案
    vim常用操作整理
  • 原文地址:https://www.cnblogs.com/super-admin/p/treeNode.html
Copyright © 2020-2023  润新知