java 組裝樹型結構資料

2021-07-16 21:43:00 字數 2105 閱讀 9767

自己開發遇到的後台組裝的樹結構方法,記錄下來

1、首先資料庫為oracle,使用 start with 語句和union 組裝要查詢資料:

select * from (

select equip.equip_category_id as id,equip.equip_category_name as name,'' as pid,'1' as lev from sys_dis_defect_library equip

union all

select parts."id" as id,parts.parts_name as name,parts.equip_category_id as pid,'2' as lev from sys_dis_defect_parts parts

union all

select place.id as id,place.place_name as name,place.parts_id as pid,'3' as lev from sys_dis_defect_place place

union all

select descr."id" as id,descr.description as name,descr.place_id as pid,'4' as lev from sys_dis_defect_description descr

union all

select classif."id" as id,classif.classification as name,classif.description_id as pid,'5' as lev from sys_dis_defect_classification classif

)t start with t.pid is null connect by prior t.id = t.pid ;

dao層實現方法

public list> getdefectstandlibrarytree(string rootid) else 

return result;

}

2、將list資料處理,組裝成tree資料結構

這裡使用的迭代的演算法

service層

public dsltreebo getdefectstandlibrarytree(string rootid) else

return treeroot;

}

迭代方法

// 取節點的所有children

private listgetchildren(list> results, string rootid)

list.add(root);

}} return list;

}

最後是treebo實體

public class dsltreebo 

public void setdefectlevel(string defectlevel)

public string getid()

public void setid(string id)

public string getname()

public void setname(string name)

public string getlevel()

public void setlevel(string level)

public listgetchildren() else*/

if(this.children==null)else

} public void setchildren(listchildren)

this.children.addall(children);

} public dsltreebo(string id, string name, string level)

public dsltreebo(string id, string name, string level,string defectlevel)

public dsltreebo()

}

JS組裝資料結構

開始的資料結構如下 裡面的工程資料是一條條的.var reg code 0,message 操作成功 現在要做的是把專案id相同的工程放在同一專案下 project陣列裡 資料結構如下 var data 實現 如下 var plandata var map var data reg.data for...

資料結構(java) 樹

線性結構中,乙個節點至多只有乙個頭節點,至多只有乙個尾節點,彼此連線起來是一條完整的線。比如鍊錶和陣列 而樹,非線性結構的典型例子,不再是一對一,而變成了一對多 而圖則可以是 多對多 如下圖所示 幾個概念 1 根節點 父親節點 孩子節點 葉子節點 2 節點的度 節點擁有的子樹的數目稱為節點的度。比如...

資料結構(承) 樹型結構(一)

樹的定義 具有n n 0 個節點的有限非空集合,且有且只有乙個特定的節點成為根。節點 節點表示樹中的元素,包括資料項及若干指向子樹的分支。節點的度 節點所擁有的子樹的個數稱為該節點的度 degree 樹的度 樹中各節點度的最大值成為樹的度。葉節點 度為0的節點稱為葉節點。分支節點 度不為0的節點成為...