码迷,mamicode.com
首页 > 其他好文 > 详细

List集合中剔除重复的数据

时间:2020-05-16 00:44:14      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:list   use   img   number   info   mamicode   for   截图   inf   

一、当要往数据库中批量添加数据的时候,前提是要把重复的数据先剔除掉,再添加到数据库里面,下面使用了两种方法实现该需求。

       1、重新定义一个集合,把传进来的数据赋值给这个集合,然后把数据库中已存在的数据跟新添加的数据进行比较,如果数据重复,那么就把这条数据重新定义的集合里面剔除掉,最后再把新定义的集合中剩余的数据保存到数据库中即可,具体的代码如下截图:

技术图片

代码如下:

    @Override
    public List<StudentScore> saveStudenScore(List<StudentScore> studentScoreList) {
        //先找出所有的数据
        List<StudentScore> exitData=studentScoreDao.findAll();
        List<StudentScore> repeatData=new ArrayList<>();
        List<StudentScore> newstudentScore = new ArrayList<>();

        newstudentScore.addAll(studentScoreList);

        //排除掉重复的数据
        for(StudentScore exit:exitData){
            for(StudentScore newData:studentScoreList){
                if(newData.getIdCard().equals(exit.getIdCard())&&newData.getExamNumber().equals(exit.getExamNumber())){
                    repeatData.add(newData);
                    newstudentScore.remove(newData);
                }
            }
        }
        studentScoreDao.saveAll(newstudentScore);
        return repeatData;

        2、第二种方法是直接使用for循环,但是要注意的一点是因为for循环实际是循环列表的下标(索引),但是因为把集合中的数据remove掉,可能会引起下标越界的问题,所以每次移除的时候要记得下标要减减,具体如下截图:

技术图片

代码如下:

        for(int i=0;i<results.size();i++){
            for(EntityUser exitUser:userList){
                System.out.println(exitUser);
                    String exitIdCar= exitUser.getIdCard();
                    String exitPhone = exitUser.getPhone();
                    if(results.get(i).getIdCard().equals(exitIdCar)||results.get(i).getPhone().equals(exitPhone)){
                        removeList.add(results.get(i));
                        results.remove(i);
                        i--;
                        break;
                    }

            }
        }

 

List集合中剔除重复的数据

标签:list   use   img   number   info   mamicode   for   截图   inf   

原文地址:https://www.cnblogs.com/yanghr/p/12897835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!