JAvaツリー構造遍歴List<>

1642 ワード

(MenuInfo)をあなたの相手に変える必要があります
public static List getVolists(List menuInfoList){
        //         
        List dirlistPen = new ArrayList<>();
        //        
        if(menuInfoList.size() > 0) {
            //For    
            for (int i = 0; i < menuInfoList.size(); i++) {
                MenuInfo info = menuInfoList.get(i);
                //       
                if (info.getmPid() == 0) {
                    //      Chilaren
                    info.setChildren(getListmenuInfo(info.getmId(),menuInfoList));
                    dirlistPen.add(info);
                }
            }
        }
        return dirlistPen;
    }

    /**
     *      
     * id   id
     * menuInfoList   
     */
    public static List getListmenuInfo(int id,List menuInfoList){
        List listvo = new ArrayList<>();
        for (int i = 0 ; i < menuInfoList.size() ; i++){
            MenuInfo menuInfo = menuInfoList.get(i);
            if (menuInfo.getmPid() == id){
                MenuInfo info = new MenuInfo();
                info.setmId(menuInfo.getmId());
                info.setmName(menuInfo.getmName());
                info.setmPid(menuInfo.getmPid());
                info.setmUrl(menuInfo.getmUrl());
                info.setmClasses(menuInfo.getmClasses());
                info.setmSort(menuInfo.getmSort());
                info.setmStartup(menuInfo.getmStartup());
                listvo.add(info);
            }
        }
        return listvo;
    }