利用递归和堆栈获得记录一级二级名称_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 利用递归和堆栈获得记录一级二级名称

利用递归和堆栈获得记录一级二级名称

 2015/3/27 12:17:47  kisseveryone  程序员俱乐部  我要评论(0)
  • 摘要:publicstaticvoidmain(String[]args){Stack<CsBizType>bizTypeStack=newStack<CsBizType>();CsBizTypetype=cacheBizMap.get(pe.getCsDutyTypeId());bizTypeStack.push(type);fetchLevelByStack(pe,cacheBizMap,bizTypeStack);//找到一级,二级记录名称
  • 标签:利用 递归 堆栈
class="java">
public static void main(String [] args){
 Stack<CsBizType> bizTypeStack=new Stack<CsBizType>();
					CsBizType   type=cacheBizMap.get(pe.getCsDutyTypeId());
					bizTypeStack.push(type);
					 fetchLevelByStack(pe,cacheBizMap,bizTypeStack);//找到一级,二级记录名称

}
private Experience fetchLevelByStack(Experience pe,Map<Long,CsBizType> cacheBizMap,Stack<CsBizType> bizTypeStack)
	{
		CsBizType type=bizTypeStack.peek();//查询最新的一个元素
		if(type.getParentId() == 0L )
		{
			//一级记录id
			type=bizTypeStack.pop();
			pe.setCsDutyTypeLevel1(type.getName());
			//堆栈中剩下最新的元素就是二级了
			type=bizTypeStack.pop();
			pe.setCsDutyTypeLevel2(type.getName());
			return pe;
		}
		else
		{
			type=cacheBizMap.get(type.getParentId());
			bizTypeStack.push(type);
			return fetchLevelByStack(pe,cacheBizMap,bizTypeStack);
		}
	}

发表评论
用户名: 匿名