将查询得到的集合转换为Hashmap

       根据id值获取它的对象是web开发中常见的操作,如果每次根据id值对list集合进行遍历,无疑效率是很低的。采用hashmap将id作为key值调用get(key)方法获取对应的对象则非常方便,并且效率也较高。以下代码是将对象中id,logisticsNo联合作为key,将对应的对象作为value装入到hashmap中的代码:

	/**
	 * 获取物流配送信息
	 * @param
	 * @return 
	 */
	 @SuppressWarnings("unchecked")
	 public HashMap<String,LogisticsResultVo> getMapOfLogisticsInfo(){
		 try {
			 //定义HashMap
			 HashMap<String,LogisticsResultVo> LogisticsInfoMap = new HashMap<String,LogisticsResultVo>();
			 //获取当前页
			 pageCurr = this.getRequest().getParameter("pageCurr");
				if(!StringUtil.isEmpty(pageCurr)){
					if(CustomerUtil.isNumeric(pageCurr)){					
						page.setCurrentPage(Integer.parseInt(pageCurr));
					}else{
						page.setCurrentPage(1);
					}
				}
		 //获取查询到的物流一览信息
		 List<LogisticsResultVo> logicticsList = logisticsFacadeManagerBo.searchDetailInfoLogistics(lcVo,getPage());
				 if(logicticsList != null && logicticsList.size() > 0){
					 for(LogisticsResultVo lrv: logicticsList){
						 StringBuffer idNo = new StringBuffer();
						 String delegate_id = lrv.getDelegate_id();
						 String logisticsNo = lrv.getLogisticNO();
						 //创建委托代理ID加物流编号作为Map中的key
						 idNo.append(delegate_id);
						 idNo.append(",");
						 idNo.append(logisticsNo);
						 String idno = idNo.toString();
						 LogisticsResultVo uniqueLrVo = LogisticsInfoMap.get(idNo);
						 if(uniqueLrVo == null){
							 LogisticsInfoMap.put(idno, lrv);
						 }
					 }
				 }
			 return LogisticsInfoMap;
		 }catch (Exception e){
            e.printStackTrace();
            return null;
		 }
	 }

调用该方法:

logisticsResultVo = (LogisticsResultVo)getMapOfLogisticsInfo().get(idNo);

很方便的获取到对应该key值的Vo对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值