java遞歸生成樹型結構方式
更新時間:2024年12月17日 16:41:57 作者:青艾_XY
文章介紹了如何使用Java遞歸生成樹形結構,包括獲取數(shù)據(jù)、生成樹形結構、查詢子節(jié)點等步驟,作者分享了自己的經(jīng)驗,希望能對大家有所幫助
java遞歸生成樹
1.獲取數(shù)據(jù)
public List<TreeClassifyRespVO> getTreeClassifyList(ClassifyPageReqVO reqVO) { List<ClassifyDO> classifyList = classifyMapper.selectList(reqVO); List<TreeClassifyRespVO> childClassifyResp = ClassifyConvert.INSTANCE.convertList01(classifyList); return getClassifyTree(childClassifyResp); }
2.生成樹形結構
public List<TreeClassifyRespVO> getClassifyTree(List<TreeClassifyRespVO> childClassifyResp) { // 返回的樹形數(shù)據(jù) List<TreeClassifyRespVO> tree = new ArrayList<TreeClassifyRespVO>(); // 第一次遍歷 for (TreeClassifyRespVO treeClassify : childClassifyResp) { // 找到根節(jié)點,這里我的根節(jié)點的pid為0 if (treeClassify.getPid()==0) { tree.add(findChild(treeClassify, childClassifyResp)); } } return tree; }
3.查詢子節(jié)點
private TreeClassifyRespVO findChild(TreeClassifyRespVO treeClassify, List<TreeClassifyRespVO> list) { // 定義list用于存儲子節(jié)點 List<TreeClassifyRespVO> children = new ArrayList<TreeClassifyRespVO>(); for (TreeClassifyRespVO node : list) { // 找到根節(jié)點,這里我的根節(jié)點的pid為0 if (node.getPid().equals(treeClassify.getId())) { // 調用遞歸 children.add(findChild(node, list)); } } treeClassify.setChildren(children); return treeClassify; }
4.效果
總結以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
如何利用SpringAOP的返回通知處理數(shù)據(jù)加密返回
這篇文章主要介紹了如何利用SpringAOP的返回通知處理數(shù)據(jù)加密返回,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧2024-12-12SpringBoot整合DeepSeek實現(xiàn)AI對話功能
本文介紹了如何在SpringBoot項目中整合DeepSeek API和本地私有化部署DeepSeekR1模型,通過SpringAI框架簡化了人工智能模型的集成,感興趣的小伙伴跟著小編一起來看看吧2025-02-02SpringBoot2零基礎到精通之數(shù)據(jù)庫專項精講
SpringBoot是一種整合Spring技術棧的方式(或者說是框架),同時也是簡化Spring的一種快速開發(fā)的腳手架,本篇我們來學習如何連接數(shù)據(jù)庫進行操作2022-03-03