`
kisseveryone
  • 浏览: 197674 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

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

阅读更多
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);
		}
	}

分享到:
评论

相关推荐

    嵌入式C_精华

    - **面试题解析示例:** 分析一道经典的面试题目,如Fibonacci数列的实现,通过不同方法(递归、迭代)来探讨效率和可读性的权衡。 - **实际应用示例:** 将理论知识应用于实际问题中,比如设计一个高效的数据缓存...

    超级有影响力霸气的Java面试题大全文档

    抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承:  继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承...

    C#编程经验技巧宝典

    72 &lt;br&gt;0103 如何进行字节数组和字符串的相互转换 72 &lt;br&gt;0104 如何把一个按空格分割的字符串存储在一个ArrayList数组中 73 &lt;br&gt;4.2 获取字符串信息 73 &lt;br&gt;0105 如何获得一个字符串的长度 ...

    语言程序设计课后习题答案

    二进制是基数为2,每位的权是以2 为底的幂的进制,遵循逢二进一原则,基本符号为0和1。采用二进制码表示信息,有如下几个优点:1.易于物理实现;2.二进制数运算简单;3.机器可靠性高;4.通用性强。其缺点是它表示数...

Global site tag (gtag.js) - Google Analytics