[bxd学习java基本点]14 map没有迭代器,其遍历有二法keySet,entrySet是存键值对

16-04
get只能取一个,不方便遍历全部取。而map没有迭代器,只能用keySet()
就是键的集。存在set中了。
keySet:将map中所有的键存入set集合,而set有迭代器,再用set的方法来取其值


class MapDemo2{
public static void main(String[] args){
Map<String,String> map=new HashMap<String,String>();


map.put('01',"ahangd");
map.put('02',"ahangds");


Set<String> keySet=map.keySet();
Iterator<String> it=keySet.iterator()
while(it.hasNext()){
String key=it.next();
sop(key);/这是所有的键
}
//有了键,就可以使用map.get取其值了


String
}
}
16-05
map不能迭代器,
其取值,是先返回Set再迭代
entrySet
Set<Map.Entry>将map集合中的映射关系存入到Set中
存入到Set集合中。
Set<Map.Entry<String,String>> entrySet map.entrySet();
泛型这套、
Iteraotr<Map.Entry<String,String>> it=entrySet.iterator();
while(it.hasNext()){
Map.Entry<String,String> me=it.next();
String key=me.getKey();
String value=me.getValue();
}
此法也可得
entrySet是取的一对,把键与值的关系取得了,此关系就 Map.Entry类型
Map.Entry
其实Entry也是一个接口,它是Map接口中的一个内部接口。
优化代码 String bmid = PubUtil.valueOf(listBXD.get("BXD_BMID")); String year = PubUtil.valueOf(listBXD.get("BXD_BXRQ")).substring(0, 4); String shsj = PubUtil.valueOf(listBXD.get("BXD_SHSJ")); String xmid = PubUtil.valueOf(listBXD.get("BXD_XMID")); String jhbh = PubUtil.valueOf(listBXD.get("BXD_XMJH_JHBH")); //部门年度发生额 String sql = "select ISNUll(sum(BXD_JE),0) as \"je\" from BXD where BXD_BMID = '"+bmid+"' " + "and BXD_SHBZ = 'Y' and DATEPART(YYYY,BXD_BXRQ) = '"+year+"'"; Double deptMoney = PubFunAction.queryForObj(sql, Double.class, 0.0); //更新部门年度发生额 sql = "update DBUDGET set DBUDGET_SJZC = '"+deptMoney+"' where DBUDGET_DEPTID = '"+bmid+"' and DBUDGET_YEAR = '"+year+"'"; PubFunAction.jt.update(sql); //项目年度发生额 sql = "select ISNULL(sum(BXD_JE),0) as \"je\" from BXD where BXD_XMID = '"+xmid+"' " + "and BXD_SHBZ = 'Y' and DATEPART(YYYY,BXD_BXRQ) = '"+year+"'"; Double projectMoney = PubFunAction.queryForObj(sql,Double.class,0.0); //更新项目年度发生额 sql = "update DBUDGETMX set DBUDGETMX_SJZC = '"+projectMoney+"' where DBUDGETMX_XMID = '"+xmid+"' and DBUDGETMX_YEAR = '"+year+"'"; PubFunAction.jt.update(sql); //经济分类年度发生额 for (Map<String, Object> bxdmx : listBXDMX) { String lbid = PubUtil.valueOf(bxdmx.get("BXDMX_BXLB_LBID")); sql = "select ISNULL(sum(BXDMX_BXJE),0) as \"je\" from BXD left join BXDMX on BXDMX_KEY=BXD_KEY " + "where BXDMX_BXLB_LBID = '"+lbid+"' and BXD_SHBZ = 'Y' and DATEPART(YYYY,BXD_BXRQ) = '"+year+"'"; Double economicClassificationMoney = PubFunAction.queryForObj(sql, Double.class, 0.0); } //更新合同计划完成标记 if (!"".equals(jhbh)){ sql = "update XMJH set XMJH_WCBZ = 'Y',XMJH_SJRQ_END = '"+shsj+"' where XMJH_JHBH = '"+jhbh+"'"; PubFunAction.jt.update(sql); }
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值