java对数据去重比对

	private List<Paper> toPaperList(List<ExaminationPaper> paperList) {
		List<Paper> result = new ArrayList<Paper>();
		if ((null == paperList) || (0 == paperList.size()))
			return result;
		
		for (ExaminationPaper paper : paperList) {
			if (Examination.PAPER_TYPE_QUOTE.intValue() == paper.getPaperType().intValue())
			{
				//这段代码目的是往Owner里边添加学校信息
				Paper pap  = paperService.getPaper(paper.getPaper().getPaperCode());
				List<Owner> owners1 = pap.getOwners();
				//第一步
				HashMap<String, String> ownerMap=genOwnerMap(owners1);
				List<Owner> owners2 = paper.getPaper().getOwners();
				if(owners2 != null){
					for(Owner own : owners2){
						String ownerCode = own.getOwnerCode();
						if(!ownerMap.containsKey(ownerCode)){
							owners1.add(own);
						}
					}
					pap.setOwners(owners1);
					paperService.updatePaper(pap);
				}
				continue;
			}	
			result.add(paper.getPaper());
		}
		return result;
	}
	
	
	//第二步:整理成schCode对应schCode的map
	private HashMap<String, String> genOwnerMap(List<Owner> owners) {
		HashMap<String, String> codeMap=new HashMap<>();
		for (Owner owner : owners) {
			codeMap.put(owner.getOwnerCode().toString(), owner.getOwnerCode().toString());
		}
		return codeMap;
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值