<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 167,  comments - 30,  trackbacks - 0

    對于梅花雪樹選中節(jié)點的刪除:級聯(lián)刪除該節(jié)點下所有子孫節(jié)點

        private List processGetSysFunPointList(String id, TReqSysDTO sysDTO)
                
    throws ParseException {
            List rslist 
    = new ArrayList();
            
    //思路:
            
    //1,找出當(dāng)前節(jié)點
            
    //2,找出當(dāng)前節(jié)點的所有直接子節(jié)點
            
    //3,分別找出每個直接子節(jié)點的直接子節(jié)點
            
    //4,重復(fù)第3步操作,直至找出當(dāng)前節(jié)點的所有子節(jié)點
            
            
    //算法:
            
    //1,先找出當(dāng)前所有最新版本的節(jié)點,并封裝成Map[pid,vo]數(shù)據(jù)結(jié)構(gòu),以提高算法查找效率。
            
    //        注: 1)封裝時遍歷采用while循環(huán)結(jié)構(gòu)以提高循環(huán)效率。
            
    //            2)封裝時對頂級節(jié)點,即父節(jié)點為空的節(jié)點,不進行封裝處理。
            
    //            3)封裝結(jié)構(gòu)的結(jié)果是:所有的非葉子節(jié)點的ID都包含map的keySet集合中;
            
    //2,根據(jù)上面的思路寫遞歸算法來求解當(dāng)前節(jié)點的所有子節(jié)點
            
            
            Map map 
    = new HashMap();
            List list 
    = this.myReqSystemFunctionPointDAO.findAll(sysDTO);
            
    if(list!=null){
                Iterator itr 
    = list.iterator();
                
    while(itr.hasNext()){
                    SysFunTreeNodeVO vo 
    = (SysFunTreeNodeVO)itr.next();
                    
    //找出當(dāng)前當(dāng)前節(jié)點
                    if(id.equals(vo.getId())){
                        rslist.add(vo);
                    }

                    
    //封裝Map[pid,vo]數(shù)據(jù)結(jié)構(gòu),供遞歸算法使用
                    String pid = vo.getParentSysFunPointId();
                    
    if(pid!=null && !pid.equals("")){//過濾頂級節(jié)點,頂級節(jié)點無需封裝進map結(jié)構(gòu)
                        if(map.containsKey(pid)){
                            ((List)map.get(pid)).add(vo);
                        }

                        
    else{
                            List tmp 
    = new ArrayList();
                            tmp.add(vo);
                            map.put(pid, tmp);
                        }

                    }

                }

            }


            
    //遞歸算法,找出當(dāng)前節(jié)點的所有子節(jié)點
            List sons = findSons(id, map);
            
    if(sons!=null){
                rslist.addAll(sons);
    //添加子節(jié)點
            }

            
            
    return rslist;
        }


        
    public List findSons(String id,Map srcmap){
            List rslist 
    = new ArrayList();
            
    if(id!=null && srcmap!=null && srcmap.containsKey(id)){
                
    //找出id的直接子節(jié)點。注:不是id的所有子節(jié)點,而是其一級子節(jié)點
                List sons = (List) srcmap.get(id);
                
    if(sons!=null){
                    rslist.addAll(sons);
    //添加直接子節(jié)點
                    Iterator itr = sons.iterator();            
                    
    while(itr.hasNext()){//遍歷添加直接子節(jié)點的所有子節(jié)點
                        SysFunTreeNodeVO vo = (SysFunTreeNodeVO) itr.next();
                        List sonslist 
    = findSons(vo.getId(), srcmap);
                        rslist.addAll(sonslist);
                    }

                }

            }

            
    return rslist;
        }



    //封裝成逗號隔開的串保存
      String fids = "";
      if(filesIdList !=null && filesIdList.size() > 0)
      {
       for(int i =0;i<filesIdList.size();i++)
       {
        fids = fids + filesIdList.get(i);
        if(filesIdList.size() >1 && i!=filesIdList.size()-1)
        {
         fids = fids + ",";
        }
       }
      } 


     

    posted on 2009-12-04 10:50 David1228 閱讀(311) 評論(0)  編輯  收藏 所屬分類: 算法總結(jié)

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     

    <2009年12月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    文章檔案

    新聞分類

    新聞檔案

    相冊

    收藏夾

    Java

    Linux知識相關(guān)

    Spring相關(guān)

    云計算/Linux/虛擬化技術(shù)/

    友情博客

    多線程并發(fā)編程

    開源技術(shù)

    持久層技術(shù)相關(guān)

    搜索

    •  

    積分與排名

    • 積分 - 358681
    • 排名 - 154

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 无人在线直播免费观看| 亚洲国产一区二区a毛片| 日本XXX黄区免费看| 国产在线播放线91免费| MM1313亚洲国产精品| 亚洲国产精品综合一区在线| 中文字幕人成人乱码亚洲电影| 日本成人免费在线| 免费精品国产自产拍在线观看图片| a级片免费在线播放| yy一级毛片免费视频| 亚洲av无码专区在线观看下载| 亚洲国产精品综合久久久| 亚洲AV无码1区2区久久| 亚洲色婷婷综合久久| 亚洲AⅤ优女AV综合久久久| 免费无码成人AV片在线在线播放| xxxx日本免费| 24小时日本电影免费看| 少妇人妻偷人精品免费视频| 中文日本免费高清| 国产中文字幕在线免费观看| 一个人免费播放在线视频看片| 九九免费精品视频在这里| 综合一区自拍亚洲综合图区| 爱爱帝国亚洲一区二区三区| 亚洲精品9999久久久久无码| 亚洲精品无码av片| 亚洲av永久无码天堂网| 亚洲国产成人综合精品| 亚洲AV无码一区二区三区电影| 亚洲另类无码一区二区三区| 亚洲大码熟女在线观看| 亚洲jizzjizz少妇| 综合偷自拍亚洲乱中文字幕| 免费很黄无遮挡的视频毛片| 一区二区三区免费电影| 国产视频精品免费视频| 免费无码一区二区三区蜜桃 | 永久免费av无码不卡在线观看| 久久国产免费福利永久|