java导入Excel中数据查重的方法

来源:互联网 发布:湖南干部教育网络app 编辑:程序博客网 时间:2024/06/04 19:27
今天查数据库数据的时候发现一个问题,明明添加了数据库查重的方法,如果导入文件中存在和数据库相同值的时候会提示并拒绝提交,但数据库还是出现了重复字段,一开始有点纳闷,后来发现原来是因为一个excel文件中存在多条重复数据的时候,会全部导进数据库,于是又加了一段excel文件数据查重的方法
Map<String,Integer> resultMap = new HashMap<String, Integer>();for(int i = 0; i < nameList.size(); i++){String tmp = nameList.get(i);int count = resultMap.get(tmp) != null ? resultMap.get(tmp) : 0;count = count + 1;resultMap.put(tmp, count);}

resultMap中的key就是不同的name,有多少个key,就有多少个不同的name,其value就是每个name重复的次数。再通过Map的遍历将count大于1的key存入list返回,这样前台就可以打印出重复的数目和字符。
以下是整个方法的代码:
private List<WSecondarySnid> validateSingleInExcel(List<WSecondarySnid> snids){    Map<String,Integer> resultMap = new HashMap<String, Integer>();    List<WSecondarySnid> reSnids=new ArrayList<WSecondarySnid>();    for(int i = 0; i < snids.size(); i++){    String tmp = snids.get(i).getSnid();    int count = resultMap.get(tmp) != null ? resultMap.get(tmp) : 0;    count = count + 1;    resultMap.put(tmp, count);    }    for(String getKey: resultMap.keySet()){    if(resultMap.get(getKey)!=1){    WSecondarySnid wss = new WSecondarySnid();                wss.setSnid(getKey);    reSnids.add(wss);    }    }    return reSnids;    }


原创粉丝点击