• 后台业务层对对象集合进行去重


    • 【版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任】
    • 【创作不易,点个赞就是对我最大的支持】

    前言

    仅作为学习笔记,供大家参考
    总结的不错的话,记得点赞收藏关注哦!

    背景: 一个机场对应多个飞机
    因oracle数据库不能进行分组,故用此方法进行去重
    也可以用mybatis一对多解决

     List<City> newcityList=new ArrayList<>();
                List<City> cityList= cityMapper.selectCityListByJc(citys);
                List<Airport> airportList = new ArrayList<>();
    for (int i =0;i<cityList.size();i++) {
                   if(i!=0){
                      if(cityList.get(i).getId().equals(cityList.get(i-1).getId())){
                          Airport airport=new Airport();
                          airport.setSanzm(cityList.get(i).getSanzm());
                          airport.setSizm(cityList.get(i).getSizm());
                          airport.setJcmcCh(cityList.get(i).getJcmcCh());
                          airportList.add(airport);
                          if(i==cityList.size()-1){
                              cityList.get(i-1).setAirportList(airportList);
                              newcityList.add(cityList.get(i-1));
                          }
                      }else{
                          cityList.get(i-1).setAirportList(airportList);
                          newcityList.add(cityList.get(i-1));
                          airportList = new ArrayList<>();
                          Airport airport=new Airport();
                          airport.setSanzm(cityList.get(i).getSanzm());
                          airport.setSizm(cityList.get(i).getSizm());
                          airport.setJcmcCh(cityList.get(i).getJcmcCh());
                          airportList.add(airport);
                      }
                   }else{
                       Airport airport=new Airport();
                       airport.setSanzm(cityList.get(i).getSanzm());
                       airport.setSizm(cityList.get(i).getSizm());
                       airport.setJcmcCh(cityList.get(i).getJcmcCh());
                       airportList.add(airport);
                   }
                 }
                    if(newcityList.size()>0){
                     for (City item : newcityList) {
                         //根据城市的国家id查询国家信息
                         Country country = countryMapper.selectByPrimaryKey(item.getGjid());
                         item.setGjmc(country.getGjmcCh());
                         //根据城市id查询基地
                         FlightBaseModel flightBaseModel=new FlightBaseModel();
                         flightBaseModel.setCsid(item.getId());
                         List<FlightBase> flightBasesList=flightBaseMapper.selectList(tenantId,flightBaseModel);
                         if(flightBasesList!=null){
                             item.setFlightBasesList(flightBasesList);
                         }
                     }
                     //仅查看基地
                   /*  Iterator it = newcityList.iterator();
                     while (it.hasNext()){
                         if(Objects.nonNull(model.getJck()) && model.getJck()){
                             if (it.next().getFlightBasesList()==null){
                                it.remove();
                             }
                         }
                     }*/
    
                 }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57

    创作不易,点个赞就是对我最大的支持~


    wxgzh:程序员温眉

    CSDN:程序员温眉

    每天进步一点点的程序员

  • 相关阅读:
    QoS服务质量八拥塞避免
    MBA提面是否会演变为一种“选富游戏”?简析收入和提面的关系。
    Axios使用方式
    ​GOPS演讲 | 如何构建现代运营与支持体系,实现团队的高效协同
    排序算法:快速排序
    第143篇 solidity 中的 error-revert
    【记录】1024徽章
    LeetCode_动态规划_困难_552.学生出勤记录 II
    如何在生产环境排查 Rust 内存占用过高问题
    Java设计模式(上)
  • 原文地址:https://blog.csdn.net/sublime_k/article/details/126518526