使用java的List 實現樹狀目錄(後端部分)

2021-08-07 15:37:45 字數 2120 閱讀 6303

近期,在做乙個發布訊息的功能的時候 需要在頁面中顯示乙個樹狀圖 把所有的可以發布的物件都排列出來 比如 發布到乙個學院 乙個專業 乙個班級 乙個人。

具體傳到前端的json類似於這個樣子 

[

, ,

所以需要在後台的時候把這種json的樣式拼接出來 由於開始不知道配置了spring的json轉化 所以使用了純stringbuffer的拼接方法,十分麻煩 

後來看見配置中有配置

<refbean

所以就直接在controller層返回乙個list map泛型的就ok了

然後為了減少sql的壓力 使用一條sql進行四表聯查 讓所有的資料顯示在了乙個結果集中 後來發現操作每一條結果來進行判斷 遍歷有點麻煩 最後也沒能實現 所以由於工期有限 換成了四條sql分別查詢四個列表出來 進行判斷插入 

具體實現如下

for(intk=0 ; k

hashmap<object,object> xkmap =newhashmap

<>();

xkmap.put("sjid","");

xkmap.put("sjname","");

xkmap.put("data",newarraylist

<>());

xklist.add(xkmap);

system.out.println(xklist);

}for(intk=0 ; k

hashmap<object,object> zymap =newhashmap

<>();

zymap.put("data",newarraylist

<>());

zylist.add(zymap);

}for(intk=0 ; k

hashmap<object,object> bjmap =newhashmap

<>();

bjmap.put("data",newarraylist

<>());

bjlist.add(bjmap);

}for(intk=0 ; k

hashmap<object,object> xsmap =newhashmap

<>();

xsmap.put("data",newarraylist

<>());

xslist.add(xsmap);

}for(inti=0;i

}}for(inti=0;i

}}for(inti=0;i

}}

xk:學科

zy:專業

bj:班級

xs:學生

這樣使用list加上map就能實現了 

將json的陣列看做是乙個list list中放入的map就相當於json物件 的key value形式 

然後有下級的情況下 又將下級的list放入上級的data 中 

這樣就能實現了 在網上也看見了用節點去做的 有興趣的可以了解一下

Java實現List介面

list概述及特點 元素有序,並且每乙個元素都存在乙個索引.元素可以重複.list集合的特有功能概述 void add int index,e element 在指定索引處新增元素 e remove int index 移除指定索引處的元素 返回的是移除的元素 e get int index 獲取指...

Java中list類的使用

1 arraylist為list的重要實現類,list中的元素是有序排列並且可重複的。list的建立 list list new arraylist 2 list的方法 list中元素個數是否為空?list.isempty list是否已經被建立 null list 獲取list的長度 list.s...

Java中的List集合的使用

list集合 集合是非常重要的一種資料結構型別,而arraylist這種資料結構又是我們常常使用的,因此對於深入理解arraylist是非常有幫助的 有必要的 提供增刪改查資料的基本功能,且可以通過索引來插入替換和刪除集合元素的方法。arraylist特點 底層是陣列資料結構 由於本質是陣列,所以實...