1.
/**
* 检查id是否重复,并把重复的id拿出来
* @param list
* @return
*/
@Override
public List<String> checkDTOId(List<WorkStatDTO> list) {
List<String > str = new ArrayList<>();
List<String> workErrorId = new ArrayList<>();
//把所有id放入String集合中
for(WorkStatDTO strList : list){
str.add(strList.getWorkStatId());
}
//用map方式来实现获得重复id
Map<String,Integer> map = new HashMap<>();
for(String strs :str){
Integer i = 1;
if(map.get(strs) != null){
i = map.get(strs)+1;
}
map.put(strs,i);
log.info("strs:"+strs+","+"i;"+i);
}
//再把重复数据拿出来
for(String s:map.keySet()){
if(map.get(s)>1){
workErrorId.add(s);
log.info("s:"+s);
}
}
return workErrorId;
}
2.去除重复数据
List<String> str = workTimeService.checkDTO(workStatDTOS);
List<String > strList = new ArrayList<>();
//把返回有问题中重复的id,就只为一个
for(String string:str){
if(!strList.contains(string)){
strList.add(string);
}
}
原文:https://www.cnblogs.com/yiyezhiqiuwuchen/p/12009070.html