zoukankan      html  css  js  c++  java
  • 那些递归

    先将根节点找出来
    			for (int i = 0; i < moduleList.size(); i++) {
    				ProjectModuleV2 v2 = moduleList.get(i);
    				String parentId = v2.getParentId();
    				if ("0".equals(parentId)) {
    					v2.setParentName(configpath + "/" + conProject + description);
    					rootList.add(v2);
    				}
    			}
    			
    			// 查出所有的配置
    			List<ProjectConfig> allconfig = projectConfigService.getProjectOtherConfigWithInit(conProject, conModule, conModuleId);
    					
    			// 按照层级结构遍历
    			if (rootList != null && rootList.size() > 0) {
    				generatorApplication(rootList, moduleList, allconfig);
    			}
    
    
    
    	/**
    	 * 递归,将父路径给到每一条模块
    	 * @param rootList
    	 * @param moduleList
    	 * @param allconfig
    	 * @throws Exception
    	 */
    	private void generatorApplication(List<ProjectModuleV2> rootList, List<ProjectModuleV2> moduleList, List<ProjectConfig> allconfig) throws Exception {
    		for (ProjectModuleV2 root : rootList) {
    			String rootId = root.getId();
    			List<ProjectModuleV2> list = new ArrayList<ProjectModuleV2>();
    			for (ProjectModuleV2 v : moduleList) {
    				if (StringUtils.isNotBlank(v.getParentId()) && v.getParentId().equals(rootId)) {
    					v.setParentName(root.getParentName() + "/" + root.getAliaName());
    					list.add(v);
    				}
    			}
    			// 有子节点继续遍历
    			if (!"0".equals(root.getHasChild())) {
    				generatorApplication(list, moduleList, allconfig);
    			} else {
    				// 生成配置文件
    				generatorByModule(moduleList, allconfig);
    			}
    		}
    		
    	}
    

      

    越努力越幸运~ 加油ヾ(◍°∇°◍)ノ゙
  • 相关阅读:
    synchronized 关键字
    synchronized 关键字
    Linux IPC之共享内存
    链表的插入、删除
    链式队列的实现
    链栈的实现
    双色、三色排序问题
    memmove、memcpy、strcpy、memset的实现
    字符串中去掉多余的空格
    华为机试:从一个数组中选取不同的数(均小于10)组成一个最大的三位数
  • 原文地址:https://www.cnblogs.com/utomboy/p/15729845.html
Copyright © 2011-2022 走看看