循环深度解析

关于遍历集合 总结了点 心得

1 增强for循环 for(某类型 x : 集合 )  当实体类 有字段 和类 引用关系(one to many  ,many to one)时 增强for循环便可 根据对象再次关联具体字段

重点在于循环的遍历

public String getMemberOrderList(String membermgtid) throws Exception {
//  通过会员用户主键ID获得会员用户对象
TbMemberUsers tbMemberUsers = (TbMemberUsers) tbMemberUsersDao.get(TbMemberUsers.class, membermgtid);
// 通过会员用户获得会员主表对象
TbMembermgt tbMembermgt = tbMemberUsers.getTbMembermgt();
		
// 通过会员主表获得会员明细集合(Set)
Set<TbMember> tbMemberSet = tbMembermgt.getTbMemberSet();
//在会员明细集合中需要获得每个会员对应的订单集合 同时需要重新组装一个订单集合
		
if (tbMemberSet != null && tbMemberSet.size() > 0) {
for (TbMember tbMember : tbMemberSet) {
if (tbMember != null) {
	//遍历会员中的订单集合
	Set<TbOrder> tbOrderSet = tbMember.getOrders();
	//遍历订单集合中的字段
	StringBuilder xmlResult=new StringBuilder("<?xml version='1.0' encoding='UTF-8'?>");
					
	for(TbOrder tbOrder :tbOrderSet)
	{	
		String orderid= tbOrder.getOrderid();
		String ordercode =tbOrder.getOrdercode();
		String ordername=tbOrder.getOrderName();
		//需要关联到外键表的字段 根据对象遍历的优点体现于此
                 String placeorganplace=tbMember.getTsOrganizationplace().getOrganname();
		xmlResult.append("<MEMBERUSER>");
		xmlResult.append("<Orderid>"+orderid+"</Orderid>");
		xmlResult.append("<Ordercode>"+ordercode+"</Ordercode>");
		xmlResult.append("<Ordername>"+ordername+"</Ordername>");
		xmlResult.append("<Placeorganplace>"+placeorganplace+"</Placeorganplace>");
		xmlResult.append("</MEMBERUSER>");
						
		}
					
	return xmlResult.toString();
			
				
					}
				}
			}
		
	
		return "";
		
		}

 

 

2 Iterator  针对集合遍历 (个人认为,更适合做为集合的整理再次提取成完整数据集合)

Iterator iterator=datas.iterator();

Object []result;

Org_Info oi=new Org_Info();

while(iterator.hasNext())

{

//用Object数组接受遍历的每一行数据

result=(Object[])iterator.next();

//在用基础for循环把每个字段提取出

for(int i=0;i<result.length;i++)

{

oi.setOrg_code(result[i].toString());

oi.setOrg_logo(result[i+1].toString());

oi.setOrg_introduction(result[i+2].toString());

oi.setOrg_address(result[i+3].toString());

oi.setOrg_phonenumber(result[i+4].toString());

oi.setRecommend_flag(result[i+5].toString());

oi.setShow_category(result[i+6].toString());

i = i + result.length - 1;

} }

return oi;

}

 

 

你可能感兴趣的:(解析)