多叉樹Java實現

多叉樹Java實現

學習筆記,放個大概,方便取用。

package com.practice.threads;

import java.util.LinkedList;
import java.util.List;

/**
 *
 */
public class MultiTree {
    private String nodeId;
    private String parentId;
    private List<MultiTree> kids = new LinkedList<>();

    public MultiTree(String nodeId, String parentId){
        this.nodeId = nodeId;
        this.parentId = parentId;
    }

    // add node to tree
    public static void addNodeToTree(MultiTree node, MultiTree tree){
        LinkedList<MultiTree> kids = (LinkedList<MultiTree>) tree.getKids();
        if(tree.getNodeId().equals(node.getParentId())){
            kids.add(node);
            tree.setKids(kids);
        } else {
            for(MultiTree kid : kids){
                addNodeToTree(node, kid);
            }
        }
    }

    public List<MultiTree> getKids() {
        return kids;
    }

    public void setKids(List<MultiTree> kids) {
        this.kids = kids;
    }

    public String getNodeId() {
        return nodeId;
    }

    public void setNodeId(String nodeId) {
        this.nodeId = nodeId;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章