java项目开发时遇到的问题_java开发中遇到的一些问题

这篇博客探讨了HashMap在存储键值对时如何处理重复key并动态获取value为List的情况,以及实现计算日期上一周与下一周的方法。通过示例代码展示了在遍历列表时,如何根据键值判断是否添加到HashMap中,并更新对应的value列表。同时,文章还提供了计算当前日期前一周和后一周的逻辑,用于处理日期操作需求。
摘要由CSDN通过智能技术生成

1.HashMap相关问题

1.1HashMap存key,value,key会有重复的,value会有多个值,选取此方式进行存取,动态获取key,value取list,若满足条件,list一直add,key覆盖掉之前的,list一直在增加。HashMap> preDetailMap=new HashMap>();

for (int i=0;i

ScatteredPrescriptionDetail scatteredPrescriptionDetail = prescriptionDetailList.get(i);

if("Y".equals(scatteredPrescriptionDetail.getIsSubOrder())){

if (!preDetailMap.containsKey(scatteredPrescriptionDetail.getParentOrderSN())) {

List tmpList=new ArrayList();

tmpList.add(scatteredPrescriptionDetail);

preDetailMap.put(scatteredPrescriptionDetail.getParentOrderSN(), tmpList);

}

else {

System.out.println();

preDetailMap.get(scatteredPrescriptionDetail.getParentOrderSN()).add(scatteredPrescriptionDetail);

}

}

else if("N".equals(scatteredPrescriptionDetail.getIsSubOrder())){

faList.add(scatteredPrescriptionDetail);

}

}

1.2关于计算日期上一周与下一周的问题public String changeCurrentTime()throws Exception{

String before = getParameter("before");

String flag = getParameter("flag");

String[] split=before.split("-");

int year=Integer.valueOf(split[0]).intValue();

int mon=Integer.valueOf(split[1]).intValue();

int day=Integer.valueOf(split[2]).intValue();

String after="";

if("B".equals(flag)) {

int tmpday=0;

if(day<=7) {

tmpday=7-day;

mon=mon-1;

day=new Date(year, mon, 0).getDate()-tmpday;

if(mon<=0) {

year=year-1;

mon=12;

day=new Date(year, mon, 0).getDate();

}

}else {

day=day-7;

}

after=String.valueOf(year)+"-";

after=after+String.valueOf((mon<10?String.valueOf("0"+mon):String.valueOf(mon)))+"-";

after=after+String.valueOf(day<10?String.valueOf("0"+day):String.valueOf(day));

}

if("A".equals(flag)) {

int tmpday=0;

day=day+7;

if(day>new Date(year, mon, 0).getDate()) {

tmpday=new Date(year, mon, 0).getDate();

mon=mon+1;

day=day-tmpday;

if(mon>12) {

year=year+1;

mon=1;

}

}

after=String.valueOf(year)+"-";

after=after+String.valueOf((mon<10?String.valueOf("0"+mon):String.valueOf(mon)))+"-";

after=after+String.valueOf(day<10?String.valueOf("0"+day):String.valueOf(day));

}

return after;

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值