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