日期:2014-05-20 浏览次数:20765 次
/** * @param PostCode * 根据父节点获取所有子节点岗位编号 * @return 树的子结点集合 */ @SuppressWarnings("unchecked") public List<JobType> getPostCodeChilds(String postCode) { List<JobType> ret = new ArrayList<JobType>(); List<JobType> retRecursive = null; List<JobType> children = getChildrenNodes(postCode); for(JobType job0 : children){ String displayOrder = job0.getDisplyOrder(); if(!CommUtil.isNull(displayOrder) && displayOrder.equals("po")){ ret.add(job0); }else{ retRecursive = getPostCodeChilds(job0.getJobTypeCode()); if(ret.size() == 0){ ret = retRecursive; }else{ ret.addAll(retRecursive); } } } return ret; }
------解决方案--------------------
。。。你这个不知道深度是多少。除了用递归。还能怎么办啊。
------解决方案--------------------
这个结构用递归简单点吧,要不是用算法去写,估计得相当麻烦,
------解决方案--------------------
select d.* from basis_organization d start with d.organizationid='O00001' connect by prior d.organizationid=d.parentid;
------解决方案--------------------
用队列吧
------解决方案--------------------
用递归,堆栈,列表,队列什么都可以,关键看你需要什么
------解决方案--------------------
oracle 数据库 递归查询sql
select t.* from table t
start with t.id= :p
connect by ..
------解决方案--------------------
建议多理解递归,动态规划~~
这是最基本的一些算法。