這篇文章主要講解了“JAVA遞歸調用的實例代碼”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“JAVA遞歸調用的實例代碼”吧!
成都創新互聯是一家專注于成都網站建設、成都網站設計與策劃設計,昆玉網站建設哪家好?成都創新互聯做網站,專注于網站建設十余年,網設計領域的專業建站公司;建站業務涵蓋:昆玉等地區。昆玉做網站價格咨詢:18982081108
1、遞歸
遞歸就是一個程序或函數在其中定義或說明有之間或者間接調用自身的一種方法,它通常把一個大型復雜的問題層層轉化為一個原問題相似的規模較小的問題來求解,遞歸策略只需要少量的程序就可以描述出解題過程所需要的多次重復計算,大大的減少了程序的代碼量,遞歸的能力在于用有限的語句來定義對象的無限集合,一般來說,遞歸需要邊界條件,遞歸前進段和遞歸返回段,當邊界條件不滿足時,遞歸前進,當邊界條件滿足時,遞歸返回。
2、實例代碼
private List<HkFiletype> buildTree(List<HkFiletype> hkFiletypes, String preentId, List<HkFiletype> hktrees){ //第一級數據 if ("0".equals(preentId)){ hkFiletypes.forEach(hkFiletype -> { String parentfiletypeid = hkFiletype.getParentfiletypeid(); if (null != parentfiletypeid && parentfiletypeid.equals(preentId)){ hktrees.add(hkFiletype); } }); }else { hktrees.forEach(hkFiletype -> { String id = hkFiletype.getId(); List<HkFiletype> hktree = new ArrayList<>(); hkFiletypes.forEach(hkFiletype1 ->{ String parentfiletypeid = hkFiletype1.getParentfiletypeid(); if (parentfiletypeid.equals(id)){ hkFiletype.setHasChildren(true); hktree.add(hkFiletype1); buildTree(hkFiletypes,hkFiletype1.getId(),hktree); } } ); hkFiletype.setChiles(hktree); }); } return hktrees; }
3、代碼調用
public List<HkFiletype> selectTreeList(HkFiletype hkFiletype){ hkFiletype.setDelmark(1); List<HkFiletype> hkFiletypes = hkFiletypeMapper.selectList(hkFiletype); List<HkFiletype> hktrees = new ArrayList<>(); hktrees = buildTree(hkFiletypes,"0",hktrees); hktrees = buildTree(hkFiletypes,"1",hktrees); return hktrees; }
感謝各位的閱讀,以上就是“JAVA遞歸調用的實例代碼”的內容了,經過本文的學習后,相信大家對JAVA遞歸調用的實例代碼這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創新互聯,小編將為大家推送更多相關知識點的文章,歡迎關注!
當前標題:JAVA遞歸調用的實例代碼
鏈接分享:http://vcdvsql.cn/article10/podedo.html
成都網站建設公司_創新互聯,為您提供App設計、商城網站、手機網站建設、定制開發、網站設計、服務器托管
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯