利用遞迴使從資料庫取出的選單表資料轉換成選單樹的結構
生成方法是給list每個元素新增乙個children物件,這個物件可以存放此選單的子選單項
,,
,,,,
,,,,
,,,,
,,]}
list
pmenu =
newarraylist
();//迴圈找所有一級選單(pid=0)
for(
int i =
0; i < menulist.
size()
; i++)}
//遍歷所有選單項,將二級選單新增進相應的一級選單內
for(menu menu : pmenu)
//返回所有選單項
return result.
success
(pmenu);}
public list
getchild
(integer pid, list
menulist)
}//繼續遍歷二級選單是否有子選單(遞迴)
for(menu menu : result)
//遞迴終止條件
if(result.
size()
==0)return result;
//返回結果集
}
list結果,,
]}]}
,]},
,,,]
},,,
,]}]
}
ORACLE 遞迴查詢 選單樹
建立表 建表語句 create table sc district id number 10 not null,parent id number 10 name varchar2 255 byte not null alter table sc district add constraint sc ...
Java遞迴生成樹
注意 根節點的pid 0,其他節點的pid跟id是有對應的父子關係的。這裡只展示遞迴生成樹的 查詢資料庫的操作非常簡單,只用到了一句sql,然後將結果封裝成list。select id,pid,name from t menu service override public list tree 遞迴...
多級選單遞迴遍歷成樹
選單類 public class menu 遞迴主題方法 public void testquerymenulist 最後的結果 list menulist newarraylist 先找到所有的一級選單 for int i 0 i rootmenu.size i 為一級選單設定子選單,getchi...