list集合轉樹形結構

2021-08-20 15:18:23 字數 1113 閱讀 3425

源資料格式:

[, , , , , ,

轉成樹形結構之後的資料為:

[, ],

"haschild": 1,

"id": 2,

"pid": 1,

"text": "納什空間"

}, ,

],"haschild": 1,

"id": 4,

"pid": 1,

"text": "富士康-廊坊"}],

"haschild": 1,

"id": 1,

"pid": 0,

"text": "北京"

}下面是思路:

第一步:首先需要建乙個bean類,這裡的iconcls和state為擴充套件字段,也可以根據自己的業務具體擴充套件開發;

treejson implements serializable {

private static final long serialversionuid = 1l;

private int id;

private integer pid;

private string text;

private string iconcls;

private string state;

private int haschild;

private listchildren;

第二步:就是將資料庫查詢出的集合賦值給treejson 這個工具類。每條資料庫記錄都是乙個新的treejson 物件,在第三步的時候用到的將是treejson 的集合,不是資料庫查詢出的list集合。

第三步:格式化treejson 集合;

1、遍歷list以id為key,treejson物件為value的mapmap;

2、再一次遍歷list,如果treejson  tj沒有父級,則直接將該treejson物件放到listtree中去,如果有父級,則從map中獲取父級的物件 並將該treejson  tj 新增到children集合中;

到此整個流程介紹完了,下面貼第三步的**:

具體的測試原始碼請走傳送門

列舉轉List集合

列舉類轉list集合,將列舉名稱和列舉值新增到list集合裡,在網上看了很多都沒有啥完整的方法,後來自己琢磨了一下想了個簡單的方法,貼出來助人為樂,上 後台 獲取列舉值轉list集合 這個model是自定義的乙個類 放了兩個字段,乙個列舉值 乙個列舉名稱 ilistenummodellist new...

js普通list集合轉成樹形集合

普通list集合 轉為 樹形集合 普通list集合轉成樹形集合 param data list集合 param idfield 子節點欄位名 param parentfield 父節點欄位名 param topvalue 最頂級父節點字段值 如 0 1 1 parsetreedata data,id...

List 陣列集合轉 ListMap集合

list陣列集合轉 list 集合 今天遇到一地方是從表中讀取資料到list中,然後要把資料返回到前端展示,所以要把list轉為list 寫了乙個簡單的小測試,供以後參考 public class test01 表示表頭資訊 listlist new arraylist 存放表資料 string s...