遍历集合2中元素 如果集合1中没有 就删除集合2中的元素 5C

这是我的控制器方法
数组xueweisArr1 和 数组 acupoint_numArr1; 前者是从界面前端取出来的以前者为准,后者是数据库里面遍历的;

 /*从库里取出疾病对应的穴位拼成数组pjc2016.7.22*/
            List<EarAcupointDisease100> earAcupointDisease100=earStudyService.findSwApById(id1);
            String acupoint_numStr="";
            for (int i = 0; i < earAcupointDisease100.size(); i++) {
                int acupoint_num=earAcupointDisease100.get(i).getAcupoint_num();
                System.out.println("数据库里的值:"+acupoint_num);
                acupoint_numStr+=acupoint_num +",";
            }
            acupoint_numStr = acupoint_numStr.substring(0,acupoint_numStr.length()- 1);
            System.out.println(acupoint_numStr);
            String[] acupoint_numArr = StringUtils.split(acupoint_numStr, ",");// String
            int[] acupoint_numArr1 = new int[acupoint_numArr.length];// String数组转int数组 数据库里取出的数组
            /*两数组进行比较pjc 2016.7.22*/
            List list1 = Arrays.asList(xueweisArr1);//前端input标签里的内容
            //List list2 = new ArrayList<>();
            List list2 = Arrays.asList(acupoint_numArr1);//数据库取得内容
            for(int t:acupoint_numArr1){//遍历数据库里取出的数组
                if(!list1.contains(t)){
                    earStudyService.deleteEaAndEd100Swtj(id1, t);
                }
            }


3个回答

使用Hash表形式Map,或者你可以给list排下序

还一个问题,集合遍历的时候不能修改集合的结构(增删),否则会抛ConcurrentModificationException,
你可以用一个复制的临时集合2遍历,与集合1比较后删除原有集合2就不会有问题了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐