java对数据去重比对

	private List toPaperList(List paperList) {
		List result = new ArrayList();
		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 owners1 = pap.getOwners();
				//第一步
				HashMap ownerMap=genOwnerMap(owners1);
				List 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 genOwnerMap(List owners) {
		HashMap codeMap=new HashMap<>();
		for (Owner owner : owners) {
			codeMap.put(owner.getOwnerCode().toString(), owner.getOwnerCode().toString());
		}
		return codeMap;
	}

 

你可能感兴趣的:(java)