快速獲取樹形結構資料

2021-09-27 11:40:53 字數 1510 閱讀 2493

網上看了下獲取樹形結構資料的方法有很多種,

我這種我個人感覺相對簡單和方便點,

下面我就先貼出需求 :

// 後端需要返回的結果

let menuobj=}}

,'孫類2':,

'孫類3':,

'孫類4':,

'孫類5':}

,'子類2':,

'孫類2':,

'孫類3':,

'孫類4':}

,'子類3':,

'豬八戒':}

},'a2'

:'bbb'

,'a3'

:'bbb'

,'a4'

:'bbb'},

'屬性2'

:'aaa'

,'屬性3'

:'aaa'

,'屬性4'

:'aaa'

,}

只要資料存在父子關係,很容易就會想起遞迴 ,對。但是要巧妙地運用遞迴,下面我就貼上**:

/**

*@author luoluo

*@description 獲取樹形結構資料

*@date 9:51 2019/9/25

*@param

*@return commonresult

***/

("getlabletree"

)public commonresult getlabletree()

//先獲取主要的屬性類 就是 menuobj 屬性1 屬性2 屬性3 屬性4

list listdata =

this

.labelservice.

getparentmainlable()

;//linkedhashmap 有序 保證和資料庫查出來的順序一樣

map mapdata =

newlinkedhashmap

<

>()

;for

(string label:listdata)

return commonresult.

success

(mapdata);}

/** *@author luoluo

*@description 根據標籤值遞迴獲取下級 拼接 json

*@date 10:50 2019/9/25

*@param label

*@return map

***/

public map

getmapdata

(string label)

}return map;

}

個人感覺這個方法還是相對簡單點

建議:如果資料量比較大,建議加入快取

弊端:一次性獲取全部資料,資料量很大的時候載入慢 但是資料量相對少點的時候很方便 不需要非同步載入獲取資料

如果對以上**有建議和疑問歡迎新增博主

qq 1136032715

感謝支援!!

資料結構 樹形結構

樹是一種表達資料之間層次關係的資料結構,樹中的每個節點有0個或者多個子節點,但只有乙個父節點,父節點為空的節點為根節點,一棵樹只有乙個根節點。樹結構的相關概念 數的度 乙個節點含有的子樹的個數成為該節點的度,一顆樹中最大的節點的度成為整顆數的度 葉節點 度為0的節點成為葉節點 根節點 沒有父節點的節...

樹形結構資料渲染

我們有時候在專案開發中可能會遇到說給了你乙個介面,讓你渲染出乙個樹形結構。那麼這樣的該怎麼做呢?首先我們既然要渲染樹形,他給你的介面肯定是多維的。何為多維呢?就是一層一層巢狀的。那麼既然有了介面,我們寫 的思路多元化一點的話,就可以想到可以用遞迴,也可以用陣列方法把它轉化成一維陣列進行渲染。簡單思路...

在PB中快速實現資料庫樹形結構

樹形結構在windows環境中被普遍應用,它以簡捷的介面深受使用者喜愛。但在資料庫開發中面對層次多 結構複雜的資料,如何快速地構造樹形目錄呢?實現關鍵技術 在powerbuilder所提供的控制項中包含了treeview控制項,但樹的具體形成還需使用者編寫指令碼實現,即它的列表項要在程式中動態新增,...